Pytanie : Subdatasheet zachowanie

Cześć - I mieć set Subdatasheet zapytanie, gniazdować 4 poziom głęboko (Dostęp 2003). Ono zazwyczaj pracować świetnie, ale czasem the "+" 's pojawiać się na dawać poziom gdy I musztrować. I zazwyczaj właśnie zakończenie the najwyższej rangi zapytanie, re-open ono, i ono pracować świetnie po that.

Here ostatnio, the "+" 's pojawiać się na the ostatnio poziom za pierwszym raz I musztrować puszek od the pierwszy poziom. I zamykać the pracować poziom qry, re-open ono, i ono pracować świetnie.

What być the transakcja tutaj? być tam  niektóre sztuczka robienie te rzecz zachowywać się zgodnie? (najlepiej, prawidłowo…)

Thanks

Odpowiedź : Subdatasheet zachowanie

Według Allen Browne, the subdataseet imię własność być problem w ms dostęp i musieć obracać daleko.  (Subdatasheet Imię majątkowy ustawiać [Samochód] musieć [Majątkowy].)  Widzieć ten połączenie, ekscerpować ekscerpować:      http://allenbrowne.com/bug-09.html

I wierzyć the subdatasheets wciąż funkcjonować na podstawie the mistrz i dziecko połączenie nawet jeśli the subdatasheet imię własność obracać daleko.  Zawsze, upewniać się ty mieć odpowiedni wsparcie przed robienie jakaś zmiana.
________________________________________________________________
Stół: SubdatasheetName
W Dostęp 2000, stół dostać nowy własność SubdatasheetName. Jeżeli the własność ustawiać, ono brak "[Samochód]". Swój datasheet wystawiać a plus znak che the użytkownik móc powiązany rejestr od niektóre inny stół który Dostęp myśleć móc pożytecznie.

Ten automatycznie wyznaczać własność dziedziczyć forma i subforms wystawiać w datasheet widok. Wyraźnie, to być dobry pomysł i móc niezamierzony konsekwencja w zastosowanie importować od poprzednia wersja. Zły wciąż, tam  być poważny występ zagadnienie kojarzyć z forma który mieć kilka subforms dokąd Dostęp obliczać kilka i zbierać dane od wielokrotność odnosić sie stół.

Znowu, the rozwiązanie być daleko subdatasheets the własność "[Obracać]". Znowu, tam  być żadny sposób, brak, więc ty musieć więc każdy czas ty tworzyć stół. Ten kod zapętlać przez twój stół i obracać the własność daleko:

Funkcja TurnOffSubDataSh ()
    Ciemnawy db Jako DAO.Database
    Ciemnawy tdf Jako DAO.TableDef
    Ciemnawy prp Jako DAO.Property
    Const conPropName = "SubdatasheetName"
    Const conPropValue = "[Nikt]"
   
    Set db = DBEngine ((0)) ((0))
    Dla Db.TableDefs tdf W db.TableDefs
        Jeżeli (tdf. Atrybut I dbSystemObject) = (0) Wtedy
            Jeżeli tdf. Łączyć = vbNullString I Asc (tdf. Imię) <> 126 Wtedy 'Dołączać, lub zastępca.
                Jeśli nie HasProperty (tdf, conPropName) Wtedy
                    Ustalony prp = tdf.CreateProperty (conPropName, dbText, conPropValue)
                    tdf. Properties.Append prp
                Inny
                    Jeżeli tdf. Własność (conPropName) <> conPropValue Wtedy
                        tdf. Własność (conPropName) = conPropValue
                    Kończyć Jeżeli
                Kończyć Jeżeli
            Kończyć Jeżeli
        Kończyć Jeżeli
    Następnie
   
    Ustalony prp = Nic
    Ustalony tdf = Nic
    Set db = Nic
Końcówka Funkcja

Jawny Funkcja HasProperty (obj Jako Przedmiot, strPropName Sznurek) Boolowski
    'Purpose:   Powrót prawdziwy jeżeli the przedmiot mieć the własność.
    Ciemnawy varDummy Jako Wariant
   
    Na Błąd Życiorys Następnie
    varDummy = obj. Własność (strPropName)
    HasProperty = (Err.Number = (0))
Końcówka Funkcja
Inne rozwiązania  
 
programming4us programming4us