Vraag : Het gedrag van Subdatasheet

Hello - ik heb een reeks vragen Subdatasheet, diep genesteld 4 niveaus (Toegang 2003). Het werkt gewoonlijk boete, maar soms „+“ 's verschijnt niet op een bepaald niveau aangezien ik neer boor. I gewoonlijk enkel dicht heropent de top-level vraag, het, en het werkt boete na that.

Here onlangs, „+“ 's niet lijkt op het 2de niveau de eerste keer die ik neer van het eerste niveau heb geboord. I dicht heropent het 1st qry niveau, het, en het werkt boete.

What is hier de overeenkomst? is er één of andere truc aan het maken van deze dingen zich constant gedragen? (bij voorkeur, correct…)

Thanks

Antwoord : Het gedrag van Subdatasheet

Volgens Allen Browne, is het bezit van de subdataseetnaam een probleem in MS-Access en zou moeten worden uitgezet.  (Het bezit van de Naam Subdatasheet aan [Auto die wordt geplaatst] zou moeten zijn [niets].)  Zie hieronder deze verbinding, excerpted:      http://allenbrowne.com/bug-09.html

Ik geloof subdatasheets nog op basis van de meester en kindverbindingen zullen functioneren alhoewel het bezit van de subdatasheetnaam is uitgezet.  Zoals altijd, zorg ervoor u adequate files alvorens om het even welke veranderingen hebt aan te brengen.
________________________________________________________________
Lijsten: SubdatasheetName
In Access 2000, kregen de lijsten een nieuw bezit genoemd SubdatasheetName. Als het bezit niet is plaats, blijft het „[Auto]“ in gebreke. Zijn informatieblad toont een plusteken dat de gebruiker aan vertoning verwante verslagen van één of andere andere lijst kan klikken die de Toegang denkt nuttig kan zijn.

Dit automatisch toegewezen bezit wordt geërftz door vormen en subforms in informatiebladmening getoond. Duidelijk, is dit geen goed idee en kan onbedoelde die gevolgen in toepassingen hebben uit vroegere versies worden ingevoerd. Slechter nog, zijn er ernstige prestatieskwesties in verband met het laden van een vorm die verscheidene subforms heeft waar de Toegang berekent en gegevens van veelvoud meer verwante lijsten verzamelt.

Opnieuw, de oplossing is subdatasheets uit te zetten door te plaatsen het bezit aan „[niets]“. Opnieuw, is er geen manier om dit door gebrek te doen, zodat moet zich u herinneren dit te doen telkens als u een lijst cre�ërt. Deze code zal door uw lijsten van een lus voorzien en zal het bezit van draaien:

Functie TurnOffSubDataSh ()
    Schemerige db als DAO.Database
    Schemerige tdf als DAO.TableDef
    Schemerige prp als DAO.Property
    Const conPropName = „SubdatasheetName“
    Const conPropValue = „[niets]“
   
    Vastgesteld db = DBEngine (0) (0)
    Voor Elke tdf in db.TableDefs
        Als (tdf. Attributen en dbSystemObject) = 0 toen
            Als tdf. Verbind = het vbNullString en Asc (tdf. Naam) <> 126 'dan in bijlage niet, of temperaturen.
                Als niet HasProperty (tdf, conPropName) Dan
                    Reeks prp = tdf.CreateProperty (conPropName, dbText, conPropValue)
                    tdf. Properties.Append prp
                Anders
                    Als tdf. Eigenschappen (conPropName) <> conPropValue toen
                        tdf. Eigenschappen (conPropName) = conPropValue
                    Eind als
                Eind als
            Eind als
        Eind als
    Daarna
   
    Reeks prp = niets
    Reeks tdf = niets
    Vastgesteld db = niets
De Functie van het eind

Overheidsfunctie HasProperty (obj als Voorwerp, strPropName als Koord) zoals Van Boole
    'Doel:   Ware terugkeer als het voorwerp het bezit heeft.
    Schemerige varDummy als Variant
   
    Op Fout hervat daarna
    varDummy = obj. Eigenschappen (strPropName)
    HasProperty = (Err.Number = 0)
De Functie van het eind
Andere oplossingen  
 
programming4us programming4us