Enligt Allen Browne, den kända egenskapen för subdataseet är ett problem i ms tar fram och bör vändas av. ([Automatiskn] Subdatasheet för den kända egenskapsuppsättningen bör vara [inga].), Se detta anknyta, excerperat nedanfört:
http://allenbrowne.com/bug-09.htmlJag tror subdatasheetsna som fortfarande ska, fungerar på basen av det ledar-, och barnet anknyter, även om den kända egenskapen för subdatasheet har vänts av. Se till dig för att ha adekvat reserver för danande några ändringar, som alltid.
________________________________________________________________
Bordlägger: SubdatasheetName
I Access 2000 bordlägger fånget en ny egenskap som kallas SubdatasheetName. Om egenskapen inte är fastställd, den standardinställer till ”[automatiskn]”. Dess datasheet visar en plus undertecknar som användaren kan klicka för att visa släkta rekord från någon annat bordlägger, som tar fram funderare kan vara användbara.
Denna automatiskt tilldelade egenskap övertas by bildar, och subforms som visas i datasheet, beskådar. Klart denna är inte en bra idé och kan ha unintended följder i applikationer som importeras från tidigare versioner. Den värre stillbilden, där är den allvarliga kapaciteten utfärdar tillhörande med att ladda en bilda som har flera subforms, var ta fram figurerar ut och samla data från den mer släkta multipeln bordlägger.
Igen lösningen är att vända av subdatasheets, genom att ställa in egenskapen till ”[inga]”. Igen det finns inget långt att göra detta vid standard, så du måste minnas att göra så varje tid som du skapar en bordlägga. Detta kodifierar ska kretsar till och med ditt bordlägger av och vänder egenskapen:
Fungera TurnOffSubDataSh ()
Dunkel db som DAO.Database
Dunkel tdf som DAO.TableDef
Dunkel prp som DAO.Property
Const conPropName = ”SubdatasheetName”,
Const conPropValue = ”[inga]”,
Uppsättning db = DBEngine (0) (0)
För varje tdf i db.TableDefs
Om (tdf. Attribut och dbSystemObject) = 0 därefter
Om tdf. Förbind = vbNullString och Asc (tdf. Namnge) <> 126 'som inte fästas därefter eller arbeta tillfälligt.
Om inte HasProperty (tdf, conPropName) därefter
Fastställd prp = tdf.CreateProperty (conPropName
, dbText, conPropValue)
prp för tdf. Properties.Append
Annars
Om tdf. conPropValue för rekvisita (
conPropName <> ) därefter
tdf. Rekvisita (conPropName
) = conPropValue
Avsluta om
Avsluta om
Avsluta om
Avsluta om
Därefter
Fastställd prp = ingenting
Fastställd tdf = ingenting
Uppsättning db = ingenting
Avsluta fungerar
Allmänhet fungerar HasProperty (obj som anmärker, strPropName som stränger) som Boolean
'Ämna: Gå riktigt tillbaka, om anmärka har egenskapen.
Dunkelt varDummy som Variant
På felmeritförteckning därefter
varDummy = obj. Rekvisita (strPropName
)
HasProperty = (Err.Number = 0)
Avsluta fungerar