VBScript + SQL

mIschKo

Grünschnabel
Hallo ist es möglich eine select abfrage zu machen und das Ergebnis in eine Variable zu speichern!
Und diese dann in einer neuen select abfrage als bedingung einzubringen

Es ist nur eine spalte eines datensatzes die von der select abfrage abgefragt wird.

Danke schon mal!
 
Hallo,

Möglich ist es in alle Fälle. Ich habe ein ausführliches Beispiel zusammengebastelt. Ich hoffe, es hilft dir weiter. Viel Spaß.



Dim strErgebnis As String
Dim intErgebnis As Integer
Dim Source As String
Dim ADORec1 As New ADODB.Recordset
Dim ADORec2 As New ADODB.Recordset
Dim ADORec3 As New ADODB.Recordset

Dim cnnConnect As New ADODB.Connection
' (Die Verbindung mit der SQL-Datenbank muß man schon deklarieren - Syntax hängt
' davon ab, welche DB-Art (Access, Informix, MySQL, usw.) und welche Verbindungsart
' (DAO, ADO, ADODB, usw.) gewünscht ist - Ich gehe davon aus, du weißt wie es geht)



' SQL-Abfrage vorbereiten
Source = ""
Source = Source & "SELECT IDnummer, Name FROM MeineErsteTabelle "
Source = Source & "WHERE [irgendwelche Kondition] "
Source = Source & "AND [irgendwelche andere Kondition]"
Debug.Print Source

' Daten aus Tabelle Nr. 1 lesen
With ADORec1
' Öffnen als "Read only"
.Open Source, cnnConnect
If Not .EOF Then
strErgebnis = !Name
intErgebnis = !IDnummer
End If
.Close
End With
Set ADORec1 = Nothing



' SQL-Abfrage vorbereiten
Source = ""
Source = Source & "SELECT Kuerzel, Standort, Emailadresse FROM MeineZweiteTabelle "
Source = Source & "WHERE MitarbeiterName = '" & strErgebnis & "'"
Debug.Print Source


' Daten aus Tabelle Nr. 2 lesen
With ADORec2
' (Hier verwende ich ein zweites ADODB.Recordset. muß aber nicht unbedingt sein, weil ADORec1 'sauber' (.Close) geschlossen
' wurde - man könnte ADORec1 wieder verwenden - Es ist nur ein Beispiel)
' Öffnen als "Read only"
.Open Source, cnnConnect
If Not .EOF Then
' Daten lesen
debug.print !Kuerzel
debug.print !Standort
debug.print !Emailadresse
End If
.Close
End With
Set ADORec2 = Nothing



' SQL-Abfrage vorbereiten
Source = "SELECT * FROM MeineZweiteTabelle "
Debug.Print Source

' neue Daten in Tabelle Nr. 2 schreiben
With ADORec3
' (Hier verwende ich ein drittes ADODB.Recordset. muß aber nicht unbedingt sein, weil ADORec1/ADORec2 'sauber' (.Close) geschlossen
' wurden - man könnte ADORec1 wieder verwenden - Es ist nur ein Beispiel)
' Öffnen als "Read & Write"
.Open Source, cnnVerfahren, , adLockOptimistic
' einen neuen Datensatz hinzufügen
.AddNew
!MitarbeiterName = strErgebnis
!Kuerzel = "AB"
!Standort = "Meinestadt"
!Emailadresse = "aaaaaa.bbbbb@webadresse.de"
.Update
.Close
End With
Set ADORec3 = Nothing
 
Zuletzt bearbeitet:
Zurück