[access+vb] query opbouwen en draaien

Pagina: 1
Acties:

  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
hoi,

Ik ben op het moment aan het klooien met een access frontend voor een MSsql database.
Bij het starten van dit frontend wil ik een form weergeven waar een gebruikersnaam en wachtwoord ingvoerd dient te worden. Deze gebruikersnaam en wachtwoord moet geverifeerd worden op basis van een tabel in mijn database, niet via de standaard access aanmeldfunctionaliteit.
Hiervoor heb ik een form gemaakt met 2 velden: gebruikersnaam en wachtwoord. Op basis van deze velden wil ik een query uitvoeren op de tabel medewerkers om te zien of deze gebruikersnaam en wachtwoord kloppen.
Het probleem is: ik kan nergens vinden hoe ik deze query kan executen! ik heb ik het verleden vanuit andere office applicaties querys uitgevoerd (via odbc) op access(en andere) databases) maar ik zou niet weten hoe ik het in dit geval zou moeten doen, aangezien ik al 'in' de database zit..

Ik heb veel gezocht maar ik vind alleen hoe ik recordsets moet doorlopen, maar dat is niet(precies) wat ik wil!

ik ben vooralsnog zover gekomen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub aanmeld_Click()
    Dim rst
    Dim sql As String
   'query nog opbouwen op basis van textfields, maar dat is niet zo'n prob.
  sql = "select * from medewerkers where gebruikersnaam = 'thijs' and wachtwoord = 'wachtwoord' "

    rst = query(sql) ' dit is blijkbaar niet de goede functie... hoe moet ik het anders doen? 
    If rst.Count > 0 Then
    'laat hoofdform  zien ect.

    End If
End Sub

  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
Na wat verder ondezoek ben ik er achter gekomen dat ik een querydef object moet maken. Hiervan heb ik hier wat voorbeelden gevonden.

hiervandaan ben ik weer wat aan het prutsen geweest en op de volgende problemen gestuit:

volgens msdn hier kan ik een database opbject aanroepen door dbs = currentdb te gebruiken. Maar helaas, elke keer als ik ook maar iets van dat gemaakte object dbs gebruik dan krijg ik een error: "object of blokvariable with is niet ingesteld"( de code is exact hetzelfde als hierbeneden).

Ik heb dus het idee dat currentdb leeg/geen object is.

Ik maak overigens gebruik van een access project (.apd) en ik heb de dao object liberary toegevoegd bij references.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Knop0_Click()

    Dim dbs As Database, qdf As QueryDef, strSQL, str2 As String
    Dim test
    ' Return reference to current database.
    Set dbs = CurrentDb
    
    strSQL = "SELECT * FROM medewerkers"
    test = MsgBox(dbs.Name, vbOKOnly, "jajaj")
    
    ' Create new query.
    'Set qdf = dbs.CreateQueryDef("RecentHires", strSQL)


End Sub

  • De Cowboy
  • Registratie: Augustus 2003
  • Laatst online: 11-03-2022
Voorzover ik weet, is het makkelijker te doen met ado, en dan moet je het Project.CurrentConnection gebruiken (adp project)

  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
De Cowboy schreef op dinsdag 28 december 2004 @ 21:04:
Voorzover ik weet, is het makkelijker te doen met ado, en dan moet je het Project.CurrentConnection gebruiken (adp project)
thnx! het werkt !

en ik steeds die code op msdn gebruiken.. die niet werkt @ access 2003