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

DAO.Recordset casten oder parsen

Frage Entwicklung Datenbanken

Mitglied: AMStyles

AMStyles (Level 1) - Jetzt verbinden

27.10.2011, aktualisiert 02.11.2011, 3381 Aufrufe, 9 Kommentare

Hallo Forum User,

ich möchte ein SQL Statement in eine Variable speichern.
Hierbei handelt es sich um die Umgebung Access 2007 und die Programmiersprache VBA.

Ich habe bereits das Statement in eine Variable gespeichert, jedoch ist mir in dem Fall das Ergebnis wichtig.

Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT COUNT (PROJEKT) FROM PRJVERWTSTADMIN_PRJV_PROJEKT")

Sollte einen nummerischen Wert zurückgeben. Diesen möchte ich abspeichern in einer Variable.

Grüße,
AMStyles
Mitglied: thaenhusen
27.10.2011 um 14:57 Uhr
Moin.

Versuch mal.

01.
Dim db as DAO.Database 
02.
Dim rs As DAO.Recordset 
03.
Dim counter as Integer 
04.
 
05.
set db = currentDb 
06.
 
07.
Set rs = CurrentDb.OpenRecordset("SELECT COUNT (PROJEKT) as cnt FROM PRJVERWTSTADMIN_PRJV_PROJEKT") 
08.
 
09.
if not rs.eof then 
10.
    counter = rs![cnt] 
11.
else 
12.
    counter = 0 
13.
end if 
14.
 
15.
msgbox counter
Ungetestet.

HTH
MK
Bitte warten ..
Mitglied: AMStyles
27.10.2011 um 15:10 Uhr
Merci, funktioniert Super!
Woher hast die Referenz?

AMStyles
Bitte warten ..
Mitglied: thaenhusen
27.10.2011 um 15:35 Uhr
Moin.

Merci, funktioniert Super!

Sehr schön.

Woher hast die Referenz?

Wie meinst Du das? Das sind Access-Grundlagen. Das habe ich mir vor Jahren mal angeeignet.
Woher ich das habe kann ich nicht mehr genau sagen...

Schöne Grüße
MK
Bitte warten ..
Mitglied: AMStyles
27.10.2011 um 15:57 Uhr
Ok, dachte du könntest auf eine Webseite referenzieren.
Aber Danke nochmal
Bitte warten ..
Mitglied: thaenhusen
27.10.2011 um 16:32 Uhr
Moin.

Im Zweifel http://www.donkarl.com

Schöne Grüße
MK
Bitte warten ..
Mitglied: AMStyles
02.11.2011 um 10:24 Uhr
Merci thaenhusen, weißt du auch wie man dies mit einem String als Rückgabe Wert löst?
Also mein SELECT Statement gibt mir ein String zurück, diesen möchte ich in eine Variable speichern.

Grüße,
AMStyles
Bitte warten ..
Mitglied: thaenhusen
02.11.2011 um 14:42 Uhr
Moin.

Versuch dann mal.

01.
Dim db as DAO.Database 
02.
Dim rs As DAO.Recordset 
03.
Dim MeineVariable as String 
04.
 
05.
set db = currentDb 
06.
 
07.
Set rs = CurrentDb.OpenRecordset("SELECT StringFeld FROM PRJVERWTSTADMIN_PRJV_PROJEKT") 
08.
 
09.
if not rs.eof then 
10.
    MeineVariable = rs![StringFeld] 
11.
else 
12.
    MeineVariable = "" 
13.
end if 
14.
 
15.
msgbox MeineVariable  
16.
 
17.
'Das aufräumen nicht vergessen 
18.
set rs = nothing 
19.
db.close 'wird bei currentDb nicht unbedingt gebraucht
Ist also fast das gleiche, nur die Variable muss dann vom Typ String sein und nicht integer.

An der Stelle schon mal vorab, bei Integer und Long immer aufpassen, dass die Variable die
Werte auch "fassen" kann.

HTH
MK
Bitte warten ..
Mitglied: AMStyles
10.11.2011 um 10:50 Uhr
Danke thaenhusen!

Was meinst du genau mit
01.
if not rs.eof then  
02.
    MeineVariable = rs![StringFeld] 
StringFeld?
Bitte warten ..
Mitglied: thaenhusen
10.11.2011 um 10:57 Uhr
Moin.

01.
Set rs = CurrentDb.OpenRecordset("SELECT StringFeld FROM PRJVERWTSTADMIN_PRJV_PROJEKT")  
02.
 
03.
if not rs.eof then  
04.
    MeineVariable = rs![StringFeld]  
05.
end if
Das ist das StringFeld aus der Abfrage. Das muss Du an Deine Tabelle anpassen. Wenn es ein Feld Kunde gibt würde das Select Kunde und rs![Kunde] heißen.

HTH
MK
Bitte warten ..
Ähnliche Inhalte
C und C++
Parsen eines Wertes zwischen zwei Tags (c++, xml) (1)

Frage von peterpa zum Thema C und C ...

Sonstige Systeme
Software zum Parsen von Emails und PDFs (12)

Frage von Zero01 zum Thema Sonstige Systeme ...

Batch & Shell
CMD cURL Access Token parsen (2)

Frage von maddig zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Systemdateien
NTFS und die Defragmentierung (19)

Frage von WinLiCLI zum Thema Windows Systemdateien ...

Windows Server
WIndows Server 2016 core auf dem Intel NUC NUC5i5RYK i5 5250U (17)

Frage von IxxZett zum Thema Windows Server ...

LAN, WAN, Wireless
Zwei Subnetze mit je eigenem Router und Internetzugang verbinden (17)

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