Hallo,
ich erstelle über ein VB-Programm eine MDB-Datei. In dieser MDB erstelle ich eine Abfrage.(„MyAbfrage“ als „Select * from myTabelle“) Danach kann ich in der MDB eine neue Abfrage erstellen („MyAbfrage2“ als „select * from myAbfrage“) jedoch ist die Abfrage „MyAbfrage“ nicht in der Auflistung der Abfragen zu sehen ! Im Einsatz ist Office2000 mit SP1 auf Win2000. Hat dazu jemand einen Tip ?
Danke sagt Walter
Je nach dem, wie Du das ganze baust: Die Abfrage muss gespeichert werden. Das heißt u. a., dass Du das erzeugte Abfrage-Objekt an die QueryDefs-Auflistung der Datenbank anhängen musst (mit .Append). Erst dann ist das Ding auch wirklich vorhanden. Schau noch mal in die Doku zu .Append vom QueryDefs-Objekt und auch im Dunstkreis von Workspaces. Da steht auch drin, wie man keine dauerhaften Objekte erzeugt. Nicht, dass Dir das passiert.
Gruß, Manfred
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Manfred,
danke für deine Antwort.
Ich erstelle die Abfrage über ADOX :
Das ist der zugehörige Codeausschnitt:
Dim cmd As New ADODB.Command
Dim cat As New ADOX.Catalog
Dim befehl As String
ViewName = „MyView“
befehl = „SELECT * from MyTabelle“
cat.ActiveConnection = „Provider=Microsoft.Jet.OLEDB.4.0;“ & _
„Data Source=“ & My_Access_Datei
cmd.CommandText = befehl
cat.Views.Append ViewName, cmd
Set cmd = Nothing
Wie gesagt, die Abfrage „MyView“ ist in der MDB vorhanden !
Ich kann eine Abfrage mit „select * from MyView“ erstellen und
bekomm auch ein Ergebnis. Jedoch ist die Abfrage „MyView“ nicht in der
Auflistung der Abfragen vorhanden !
Dein Vorschlag mit den „QueryDefs“ geht nur bei DAO - oder ?
Gruß und Danke von Walter