Es kommt vor, dass wir Informationen über einen oder mehrere Benutzer in einem enaio® benötigen. Da es hierfür nur den Weg über die ADODB direkt gibt, hier ein kleines Tutorial, wie Benutzerinformationen geladen und verarbeitet werden können.
Code, um die Anfrage zu definieren und das Ergebnis zu verwerten:
' Datenbankabfrage in MSSQL
Dim query: query = "SELECT * FROM benutzer WHERE flags=1 AND osemail <> ''"
' ADODB Anfrage stellen (siehe unten)
Dim result: Set result = AdoSelect(query)
' Ergebnis durchlaufen
If Not result.BOF Then
' Array-Zeiger auf Anfang stellen
result.MoveFirst
Do While Not result.EOF
Set User = CreateObject("Scripting.Dictionary")
' Datenbankspaltennamen (z.B. "name") verwenden
' um auf die entsprechende Information zuzugreifen.
User.Add "benutzername" , result.Fields.Item("name").Value
' Array-Zeiger auf nächstes Element verschieben
result.MoveNext
Loop
End If
Vorsicht: Ist ein Datenbankfeld leer, hat es keinen Value und es kommt zu einem Fehler.
Exkurs: Funktion, um eine Anfrage an die ADO-Datenbank zu stellen:
Function AdoSelect(ByVal Command)
Dim JobInputParameter: Set JobInputParameter = RC.NewJobsParams
Dim JobOutputParameter: Set JobOutputParameter = RC.NewJobsParams
With JobInputParameter
.Value("Flags") = 1
.Value("Command") = Command
End With
RC.Jobs.ado.ExecuteSQL jobInputParameter, jobOutputParameter
Dim RS: Set RS=CreateObject("ADODB.Recordset")
RS.Open(JobOutputParameter.Value("ResultSet"))
Set AdoSelect = RS
End Function