Definierte Abfrage für VBA
HI,
Ich habe mal ne echt dumme Frage aber komme einfach nicht darauf.
Ich habe eine Datenbank die einige dinge tut (Sind für die Frage nicht wichtig ;) )
so nun habe ich eine Abfrage geschrieben und gespeichert (abf_ColB)
wie kann ich in VBA nun mit dem Ergebnis dieser Abfrage arbeiten?
Das Ergebnis sind einige Zeilen also muss in einem Object gespeichert werden nur wie führe ich die Abfrage in VBA aus??
habe bis dato immer folgendes gemacht:
Sub bla()
DIM SQLCB as String
DIM Rec as Object
SQLCB = "Select * from tbl_bla;"
Set Rec = CurrentDb.OpenRecordset(SQLCB)
So würde ich es so auch weitermachen, doch der SQL-Tag ist zu lang und hat zuviele Variablen die ich in VBS nicht mehr getrennt bekommen ;)
bsp:
SELECT tbl_Pressplan.F_Nummer AS [F-Nr], tbl_Pressplan.Kunde, tbl_Pressplan.Modell, tbl_Pressplan.Folie, tbl_Pressplan.Menge, [Hübe] & "/" & summ([Startdatum],[Startzeit],[Maschine]) AS Hub, [Startdatum] & " " & [Startzeit] AS Start, IIf([Gespritzt] Is Null,"","x") AS SP, tbl_Pressplan.Text AS Zusatz, tbl_produktion.Text AS Auftragstext FROM tbl_Pressplan LEFT JOIN tbl_produktion ON tbl_Pressplan.F_Nummer_Auswahl = tbl_produktion.z10_faufnr WHERE (((tbl_Pressplan.Maschine)="Col. B") AND ((tbl_Pressplan.Erledigt) Is Null)) ORDER BY tbl_Pressplan.Startdatum, tbl_Pressplan.Startzeit;
Also wie kann ich eine definierte Access-Abfrage (abf_ColB) in VBA ausführen und das Ergebnis bearbeiten?
Danke schon mal für die Hilfe
Daniel
Ich habe mal ne echt dumme Frage aber komme einfach nicht darauf.
Ich habe eine Datenbank die einige dinge tut (Sind für die Frage nicht wichtig ;) )
so nun habe ich eine Abfrage geschrieben und gespeichert (abf_ColB)
wie kann ich in VBA nun mit dem Ergebnis dieser Abfrage arbeiten?
Das Ergebnis sind einige Zeilen also muss in einem Object gespeichert werden nur wie führe ich die Abfrage in VBA aus??
habe bis dato immer folgendes gemacht:
Sub bla()
DIM SQLCB as String
DIM Rec as Object
SQLCB = "Select * from tbl_bla;"
Set Rec = CurrentDb.OpenRecordset(SQLCB)
So würde ich es so auch weitermachen, doch der SQL-Tag ist zu lang und hat zuviele Variablen die ich in VBS nicht mehr getrennt bekommen ;)
bsp:
SELECT tbl_Pressplan.F_Nummer AS [F-Nr], tbl_Pressplan.Kunde, tbl_Pressplan.Modell, tbl_Pressplan.Folie, tbl_Pressplan.Menge, [Hübe] & "/" & summ([Startdatum],[Startzeit],[Maschine]) AS Hub, [Startdatum] & " " & [Startzeit] AS Start, IIf([Gespritzt] Is Null,"","x") AS SP, tbl_Pressplan.Text AS Zusatz, tbl_produktion.Text AS Auftragstext FROM tbl_Pressplan LEFT JOIN tbl_produktion ON tbl_Pressplan.F_Nummer_Auswahl = tbl_produktion.z10_faufnr WHERE (((tbl_Pressplan.Maschine)="Col. B") AND ((tbl_Pressplan.Erledigt) Is Null)) ORDER BY tbl_Pressplan.Startdatum, tbl_Pressplan.Startzeit;
Also wie kann ich eine definierte Access-Abfrage (abf_ColB) in VBA ausführen und das Ergebnis bearbeiten?
Danke schon mal für die Hilfe
Daniel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 92247
Url: https://administrator.de/forum/definierte-abfrage-fuer-vba-92247.html
Ausgedruckt am: 22.12.2024 um 23:12 Uhr
5 Kommentare
Neuester Kommentar
Moin
Vielleicht hilft Dir das weiter:
Gruß L.
..., doch der SQL-Tag ist zu lang und ...
Zu lang für was?...hat zuviele Variablen die ich in VBS nicht mehr getrennt bekommen ;)
Welche Variablen und warum wist du diese trennen?Vielleicht hilft Dir das weiter:
DIM SQLCB as String
DIM Rec as Object
SQLCB = "SELECT tbl_Pressplan.F_Nummer AS [F-Nr], tbl_Pressplan.Kunde, "
SQLCB = SQLCB & "tbl_Pressplan.Modell, tbl_Pressplan.Folie, tbl_Pressplan.Menge, "
SQLCB = SQLCB & "[Hübe] & "/" & summ([Startdatum],[Startzeit],[Maschine]) AS Hub, "
SQLCB = SQLCB & "[Startdatum] & " " & [Startzeit] AS Start, IIf([Gespritzt] Is Null,"","x") AS SP, "
SQLCB = SQLCB & "tbl_Pressplan.Text AS Zusatz, tbl_produktion.Text AS Auftragstext "
SQLCB = SQLCB & "FROM tbl_Pressplan LEFT JOIN tbl_produktion ON "
SQLCB = SQLCB & "tbl_Pressplan.F_Nummer_Auswahl = tbl_produktion.z10_faufnr "
SQLCB = SQLCB & "WHERE (((tbl_Pressplan.Maschine)="Col. B") AND "
SQLCB = SQLCB & "((tbl_Pressplan.Erledigt) Is Null)) "
SQLCB = SQLCB & "ORDER BY tbl_Pressplan.Startdatum, tbl_Pressplan.Startzeit;"
Set Rec = CurrentDb.OpenRecordset(SQLCB)
Gruß L.
aber wenn du einen Anreiz hast wegen der sache mit dem Rec object bin ich ganz Ohr
Du arbeitest in VBA unter...Access? Welche Version?
Hast du einen Verweis gesetzt auf Microsoft ActiveX Data Objects?
Probiers mal mit
...
DIM Rec as ADODB.Recordset
...
</code
Jetzt solten dir eigenlich alle Eigenschaften und Methoden angeboten werden sobald zu Rec. tippst.
Den Rest soltest Du in der Hilfe finden.
Gruß L.
Sorry da habe ich geschlafen.
So in etwa soltes du mit den Ergebnissen arbeiten können:
Gruß L.
So in etwa soltes du mit den Ergebnissen arbeiten können:
Dim rec As Recordset
Dim tAbfName As String
tAbfName = "abf_ColB"
Set rec = CurrentDb.OpenRecordset(tAbfName )
rec.MoveFirst
While Not rec.EOF
Debug.Print rec.Fields(0).Value ' Inhalt 1. Feld
Debug.Print rec.Fields(1).Value ' Inhalt 2. Feld usw.
rec.MoveNext
Wend
Gruß L.