Discussion:
Tabellenerstellungsabfrage als VBA-Code (Abfrage ist Typ Auswahl)
(zu alt für eine Antwort)
Steffen
2006-10-18 14:56:02 UTC
Permalink
Hallo Allseits , (mal wieder..)

-> eine Abfrage (Name z.Bsp. AB01) : angenommen mit Name, Vorname:
- eine Tabellenerstellungsabfrage daraus machen = ja kein Problem - einach
Typ ändern und Zieltabelle (in SQL-Ansicht steht ja dann auch alles),... aber
jetzt meine Frage:
Wie ruft man per VBA die AB01 (also die nicht Typ Erstellungsabfrage
ist)automatisch als Tabellenerstellungsabfrage auf ?
(also Makro ruft Funktion - die dann ruft Prozedur usw. = soweit klar - habe
ich, aber wie werden dann unter "sub-Beginn" die SQL-Zeilen richtig eingefügt
??)
Vielen Dank für eine Hilfestellung oder Tipp zu einem Beispiel - Gruß
Steffen
Mark Doerbandt
2006-10-18 15:03:06 UTC
Permalink
Hallo,
Post by Steffen
aber wie werden dann unter "sub-Beginn" die SQL-Zeilen richtig eingefügt
CurrentDB.Execute "SELECT INTO ...", dbFailOnError

Gruss - Mark
--
Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm

Bitte keine eMails auf Newsgroup-Beiträge senden.
Helmut Fischer
2006-10-18 15:11:18 UTC
Permalink
Hi Steffen,
Post by Steffen
Hallo Allseits , (mal wieder..)
- eine Tabellenerstellungsabfrage daraus machen = ja kein Problem - einach
Typ ändern und Zieltabelle (in SQL-Ansicht steht ja dann auch alles),... aber
Wie ruft man per VBA die AB01 (also die nicht Typ Erstellungsabfrage
ist)automatisch als Tabellenerstellungsabfrage auf ?
(also Makro ruft Funktion - die dann ruft Prozedur usw. = soweit klar - habe
ich, aber wie werden dann unter "sub-Beginn" die SQL-Zeilen richtig eingefügt
??)
Vielen Dank für eine Hilfestellung oder Tipp zu einem Beispiel - Gruß
Steffen
Wenn Du Tabellenerstellung willst, dann mußt Du auch Tabellenerstellung
machen ;->
Entweder Du erstellt auf Basis Deiner AB01 eine AB01Craete als
Tabellenerstellugnsabfrage und führst diese per
CurrentDb.Execute aus oder Du schaust Dir die SQL-Ansicht von AB01Create an
und hängst dieses an
CurrentDb.Execute "Create Table ... " an.

Alternative Vorgehensweise:
Dim db as Database
Dim qdf as QueryDef


Set db = DBEngine.Workspaces(0)(0)
Set qdf = db.QueryDefs("DeineAbfrage")
qdf.Execute
. . .




Gudd Lack

Helle
Steffen
2006-10-18 15:25:02 UTC
Permalink
... "Gudd-Lack" ist bestimmt sehr treffend...

Hallo Mark, hallo Helmut
schon mal Danke für die Tipp's - jetzt ist harte-Arbeit angesagt (sagt der
Laie...)
Gruß Steffen
Steffen
2006-10-19 08:51:04 UTC
Permalink
Hallo, ... kam wie befürchtet:
Code =

CurrentDb.Execute "SELECT [Ab00_BTB-JPG_MASTER-ABFRAGE].[BA-Text]" & _
"INTO Temp_for_Project" & _
"FROM [Ab00_BTB-JPG_MASTER-ABFRAGE]"

-> und dann gibt es eine Fehlermeldung
"Element in dieser Auflistung nicht gefunden" ... ?

Danke Euch - Gruß Steffen
Michel Fouquet
2006-10-19 10:29:56 UTC
Permalink
Hallo,
Post by Steffen
Code =
CurrentDb.Execute "SELECT [Ab00_BTB-JPG_MASTER-ABFRAGE].[BA-Text]" & _
"INTO Temp_for_Project" & _
"FROM [Ab00_BTB-JPG_MASTER-ABFRAGE]"
-> und dann gibt es eine Fehlermeldung
"Element in dieser Auflistung nicht gefunden" ... ?
ohne *inhaltlich* auf Dein Problem einzugehen: das obige SQL-Statement
kann sowieso nicht fuktionieren, da zwischen den einzelnen Ausdrücken
jeweils ein Leerzeichen fehlt!
Post by Steffen
CurrentDb.Execute "SELECT [Ab00_BTB-JPG_MASTER-ABFRAGE].[BA-Text]" & _
" INTO Temp_for_Project" & _
" FROM [Ab00_BTB-JPG_MASTER-ABFRAGE]"
mfg,
Michel
Steffen
2006-10-19 10:56:02 UTC
Permalink
Hallo Michel, so, Erstens: Benimmregeln gelernt...
Michel - ja Klasse -> Leerzeichen haben gefehlt - Kannst Du mir noch kurz
einen Tipp geben. Jetzt kommt Meldung "Tabelle bereits vorhanden" - kann man
da noch eine Zeile zufügen, dass diese Tabelle ersetzt werden soll ? Danke
Dir Gruß Steffen
Stefan Hoffmann
2006-10-19 11:04:08 UTC
Permalink
tach Steffen,
Post by Steffen
Hallo Michel, so, Erstens: Benimmregeln gelernt...
Michel - ja Klasse -> Leerzeichen haben gefehlt - Kannst Du mir noch kurz
einen Tipp geben. Jetzt kommt Meldung "Tabelle bereits vorhanden" - kann man
da noch eine Zeile zufügen, dass diese Tabelle ersetzt werden soll ? Danke
Dir Gruß Steffen
Etwas Textformatierung, auch Absätze genannt, würden es deutlich
leserlicher machen.

Nein. Aber ein

CurrentDb.TableDefs.Items("DeineTabelle").Delete

geht.



mfG
--> stefan <--
--
Access-FAQ http://www.donkarl.com/
KnowHow.mdb http://www.freeaccess.de
Newbie-Info http://www.doerbandt.de/Access/Newbie.htm
Steffen
2006-10-19 12:13:01 UTC
Permalink
Post by Stefan Hoffmann
Nein. Aber ein
CurrentDb.TableDefs.Items("DeineTabelle").Delete
geht.
Hallo Stefan, .. nee - ging irgendwie nicht - hat sich über den Teil .Items
beschwert.
DoCmd.DeleteObject acTable, "Temp_for_Project" = ging/geht -> ist da so
etwas möglich wie:
schaue mal nach ob die Tabelle schon da ist - wenn ja, lösche sie ?
Danke Dir - Gruß Steffen
Stefan Hoffmann
2006-10-19 12:30:59 UTC
Permalink
tach Steffen,
Post by Steffen
Post by Stefan Hoffmann
Nein. Aber ein
CurrentDb.TableDefs.Items("DeineTabelle").Delete
geht.
Hallo Stefan, .. nee - ging irgendwie nicht - hat sich über den Teil .Items
beschwert.
Jo, stimmt. Sollte Item() heißen. Allerdings war auch das .Delete an der
falschen Stelle.
Post by Steffen
DoCmd.DeleteObject acTable, "Temp_for_Project" = ging/geht -> ist da so
schaue mal nach ob die Tabelle schon da ist - wenn ja, lösche sie ?
Public Sub DelTable()

On Local Error Resume Next

CurrentDb.TableDefs.Delete "EREWRWER"
If (Err.Number > 0) And (Err.Number <> 3265) Then
MsgBox Err.Description
End If

End Sub



mfG
--> stefan <--
--
Access-FAQ http://www.donkarl.com/
KnowHow.mdb http://www.freeaccess.de
Newbie-Info http://www.doerbandt.de/Access/Newbie.htm
Steffen
2006-10-19 12:54:03 UTC
Permalink
Stefan = fantastisch -> läuft wie 'ne Biene - Vielen Dank - Gruß Steffen
Mark Doerbandt
2006-10-19 13:54:29 UTC
Permalink
Hallo, Stefan,
Post by Stefan Hoffmann
CurrentDb.TableDefs.Items("DeineTabelle").Delete
was spricht gegeb

CurrentDB.Execute "DROP TABLE DeineTabelle", dbFailOnError

?

Gruss - Mark
Stefan Hoffmann
2006-10-19 14:15:51 UTC
Permalink
tach Mark,
Post by Mark Doerbandt
was spricht gegeb
CurrentDB.Execute "DROP TABLE DeineTabelle", dbFailOnError
?
Nix, außer das bei uns Kirchweih ist :)


mfG
--> stefan <--
Steffen
2006-10-19 18:58:01 UTC
Permalink
Post by Stefan Hoffmann
tach Mark,
Post by Mark Doerbandt
was spricht gegeb
CurrentDB.Execute "DROP TABLE DeineTabelle", dbFailOnError
?
Nix, außer das bei uns Kirchweih ist :)
mfG
--> stefan <--
Hallo Stefan,.... soll heißen: des Teil von Mark hätte auch ausgereicht ?
Gruß Steffen
Mark Doerbandt
2006-10-19 19:17:16 UTC
Permalink
Hallo,
Post by Steffen
des Teil von Mark hätte auch ausgereicht
ja, aber ggue. Stefans Loesung - beides Einzeiler - kann man ueber den
"Vorteil" diskutieren. Besser aber als Dein DoCmd in jedem Fall, denn
da wird der "Kommandointerpreter" angeworfen.

Gruss - Mark
--
Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm

Bitte keine eMails auf Newsgroup-Beiträge senden.
Loading...