Toon posts:

[VB] SQL queries en variabelen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik gebruik een hoop VB code bij formulieren, in een access 97 database.

Maar ik kan niet de uitkomst van een sql statement aan een variabele in VB koppelen. Zodat ik die variabele later verder kan gebruiken.

Ik kan wel met runsql queries uitvoeren, en dat is ook goed voor update statements, maar het zou ook handig zijn om gewoon een select statement uit te voeren en de uitkomst ervan in een variabele te kunnen oplsaan om later weer aan te roepen.

Ik heb de hele help file van acces doorgezocht en gegoogled, maar ik kan gewoon niet vinden hoe je de uitkomst van een sql statement in een variabele, in visual basic dus, op kan slaan.

Is toch wel mogelijk lijkt mij?

Verwijderd

RecordSet

  • chicky
  • Registratie: Augustus 2001
  • Laatst online: 01-06-2025
Ik heb een stukje code uit een eigen database gekopieerd, kijk maar wat je er mee doet.

' je variabelen declareren
Dim D As Database
Dim RS As Recordset
Dim RST As Recordset
Dim CTL As Control
Dim Counter%
Dim i%
Dim s%
Dim t%
Dim Var1, Var2, Var3, Var4

' alle tellers voor de zekerheid op 0 zetten
s% = 0
i% = 0
t% = 0
Counter% = 0
Var4 = 0

Set D = CurrentDb ' Db openen
Set RS = D.OpenRecordset("Products") ' productstabel openen

' Tellen hoeveel records er zijn en dan terug naar het eerste
RS.MoveLast
Counter% = RS.RecordCount
RS.MoveFirst

' Tellen hoeveel records er zijn die > 0 en weer terug naar eerste
For i% = 0 To Counter% - 1 Step 1
If RS![Aantal] > 0 Then s% = s% + 1
RS.MoveNext
Next i%
RS.MoveFirst

' Een Array op de juiste grootte maken (s%-1) en alle records die >0 kopieeren
ReDim A$((s% - 1), 3)
t% = 0
For i% = 0 To Counter% - 1 Step 1
If RS![Aantal] > 0 Then
A$(t%, 0) = RS![Aantal]
A$(t%, 1) = RS![Naam]
A$(t%, 2) = RS![Prijs]
Var1 = RS![Aantal]
Var2 = RS![Prijs]
Var3 = CCur(Var1 * Var2)
A$(t%, 3) = Var3
Var4 = CCur(Var4 + Var3)
t% = t% + 1
End If
RS.MoveNext
Next i%
RS.MoveFirst ' en weer terug naar het begin
RS.Close ' productstabel sluiten

Bij het stukje code: Set RS = D.OpenRecordset("Products") ' productstabel openen

Kan je bij "Products" ook een string invullen zoals je bij een SQL query hebt.

succes

Verwijderd

Dim rs as recordset
Set rs = currentdb.openrecordset("Select * from blabla")
rs.movefirst

MyString = rs!Veldnaam

rs.close

set rs = nothing


Zo iets.....

Verwijderd

AAAAARGH . .. RTFM !!!!!