Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Definierte Abfrage für VBA

Frage Entwicklung VB for Applications

Mitglied: VBSnoobDlu

VBSnoobDlu (Level 1) - Jetzt verbinden

17.07.2008, aktualisiert 15:52 Uhr, 5442 Aufrufe, 5 Kommentare

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
Mitglied: Logan000
17.07.2008 um 11:19 Uhr
Moin

..., 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:
01.
DIM SQLCB as String 
02.
DIM Rec as Object 
03.
SQLCB = "SELECT tbl_Pressplan.F_Nummer AS [F-Nr], tbl_Pressplan.Kunde, " 
04.
SQLCB = SQLCB & "tbl_Pressplan.Modell, tbl_Pressplan.Folie, tbl_Pressplan.Menge, " 
05.
SQLCB = SQLCB & "[Hübe] & "/" & summ([Startdatum],[Startzeit],[Maschine]) AS Hub, " 
06.
SQLCB = SQLCB & "[Startdatum] & " " & [Startzeit] AS Start, IIf([Gespritzt] Is Null,"","x") AS SP, "  
07.
SQLCB = SQLCB & "tbl_Pressplan.Text AS Zusatz, tbl_produktion.Text AS Auftragstext " 
08.
SQLCB = SQLCB & "FROM tbl_Pressplan LEFT JOIN tbl_produktion ON " 
09.
SQLCB = SQLCB & "tbl_Pressplan.F_Nummer_Auswahl = tbl_produktion.z10_faufnr " 
10.
SQLCB = SQLCB & "WHERE (((tbl_Pressplan.Maschine)="Col. B") AND " 
11.
SQLCB = SQLCB & "((tbl_Pressplan.Erledigt) Is Null)) " 
12.
SQLCB = SQLCB & "ORDER BY tbl_Pressplan.Startdatum, tbl_Pressplan.Startzeit;" 
13.
 
14.
Set Rec = CurrentDb.OpenRecordset(SQLCB)
Gruß L.
Bitte warten ..
Mitglied: VBSnoobDlu
17.07.2008 um 11:33 Uhr
Hi und Danke,
daher das ich den Tag ja in VBA verwenden würde müsste ich Ihn umbasteln, da ja jedes " bedeutet Befehl beendet.

habe schon raus wie ich weiter machen muss ist ja doch relative leicht ;)

stAbfName = "abf_ColB"
Set Rec = CurrentDb.OpenRecordset(stAbfName)


jetzt muss ich nur noch zusehen wie ich die einzelnen Antwortzeilen aus dem Rec Object bekomme.

aber wo ein Wille ist, ist auch ein weg

Danke für dein Post aber finde Ihn zu lang ... der SQL-Tag ist nun mal bissel länger und
das Problem ist eigentlich ja nur das wenn da mal jemand anderes reinschaut erst den kompletten Tag zusammen Sätzen muss um Ihn zu verstehen.


Wie heißt es so schön

quick and dirty

aber wenn du einen Anreiz hast wegen der sache mit dem Rec object bin ich ganz Ohr


Gruß
Bitte warten ..
Mitglied: Logan000
17.07.2008 um 12:09 Uhr
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
<code>
...
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.
Bitte warten ..
Mitglied: VBSnoobDlu
17.07.2008 um 12:31 Uhr
es ist Access 2002

habe das mal getestet was du geschrieben hast:
DIM Rec as ADODB.Recordset

das Problem ist das ich Rec ja als Object deklariert habe,
nun bekomme ich die Fehlermeldung doppel deklaration.

Wenn ich die Object deklaration entferne bekomme ich eine Typenunverträglichkeit bei ausführen

Rec = currentDB.OpenRecordSet(SQL)

aber werde da mal ansetzen sollte machbar sein,

Ich bedanke mich für deine Hilfe.
Bitte warten ..
Mitglied: Logan000
17.07.2008 um 15:52 Uhr
Sorry da habe ich geschlafen.

So in etwa soltes du mit den Ergebnissen arbeiten können:
01.
Dim rec As Recordset 
02.
Dim tAbfName As String 
03.
 
04.
tAbfName = "abf_ColB" 
05.
Set rec = CurrentDb.OpenRecordset(tAbfName ) 
06.
rec.MoveFirst 
07.
While Not rec.EOF 
08.
    Debug.Print rec.Fields(0).Value   ' Inhalt 1. Feld 
09.
    Debug.Print rec.Fields(1).Value   ' Inhalt 2. Feld usw. 
10.
    rec.MoveNext 
11.
Wend
Gruß L.
Bitte warten ..
Ähnliche Inhalte
VB for Applications
SNMP Abfrage in EXCEL über VBA (7)

Frage von SebastianL zum Thema VB for Applications ...

VB for Applications
gelöst VBA . PasteSpecial (8)

Frage von Actares zum Thema VB for Applications ...

Datenbanken
gelöst Syntaxfehler VBA (6)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

VB for Applications
Csv in xml umwandeln mit VBA (8)

Frage von 130771 zum Thema VB for Applications ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

Windows 7
Bluesreens unternehmensweit (18)

Frage von SYS64738 zum Thema Windows 7 ...

LAN, WAN, Wireless
IP Adressen - Modem - Switch - Accesspoint (17)

Frage von teuferl82 zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
DNS ins mehreren Subnetzen (13)

Frage von joerg zum Thema Windows Netzwerk ...