[VB|Dbase] Query loopt mis

Pagina: 1
Acties:

  • Tarin
  • Registratie: Januari 2001
  • Laatst online: 08:39

Tarin

Just plain weird.

Topicstarter
Ik zit met het volgende probleem:
Ik wil een waarde uit een tabel halen die aan een voorwaarde voldoet die ik eerder uit een andere tabel op heb gezocht.
Het ziet er ongeveer zo uit:
code:
1
2
3
4
    Dim id As Integer
    Dim plaats As String
    id = dataBeest.OpenRecordset("select BedrijfID from [Opdrachten] where [Status]='Beschikbaar'").Fields(0)
    plaats = dataBeest.OpenRecordset("select Plaats from [Bedrijven] where [BedrijfID]=id").Fields(0)

Hij haalt dus eerst de waarde van id op uit een tabel, waarna hij uit een andere tabel de plaats die er bij hoort haalt. Dit om de boel later weer netjes in een combobox te zetten.

Nu geeft hij hierbij de volgende foutmelding:

"Too few parameters. Expected 1."

Echter, als ik in plaats van "[BedrijfID]=id", "[BedijfID]=1" invul (of voor de 1 een ander getal waar "id" op uit kan komen), werkt het wel.

Waar doe ik dan iets fout? Ik heb er een paar medestudenten bij gehaald, en die kunnen er ook geen kaas van maken..

Ik fiets op de accu van m'n iPod :) | Specs | Pics | Elektro: NL / EN


Verwijderd

Persoonlijk zou ik het ietsje anders doen namelijk zo

[code=vb]
strPlaats = DLookUp("[Plaats]", "[Bedrijven]", "[BedrijfID]=" & DFirst("[BedrijfID]", "[Opdrachten]", "[Status]='Beschikbaar'"))
[\Code]

Maar ik weet niet zeker of het werkt. Anders moet je de DFirst eerst uitvoeren naar een variabele (intBedrijfID), checken of die geen 0 is en dan de DLookUp. suc7

Waardoor die misschien fout gaat is dat ID niet gevuld wordt. En dus 0 wordt/blijft.

[ Voor 22% gewijzigd door Verwijderd op 26-05-2003 14:55 ]


  • Tarin
  • Registratie: Januari 2001
  • Laatst online: 08:39

Tarin

Just plain weird.

Topicstarter
Dank je boschpj :) Je bent mijn held van vandaag!

Ik doe het nog steeds op mijn manier, maar je tip bracht me op het idee om eens het volgende te proberen:
code:
1
2
3
4
    Dim id As Integer
    Dim plaats As String
    id = dataBeest.OpenRecordset("select BedrijfID from [Opdrachten] where [Status]='Beschikbaar'").Fields(0)
    plaats = dataBeest.OpenRecordset("select Plaats from [Bedrijven] where [BedrijfID]=" & id).Fields(0)

en dat werkt dus wel.

Tis dus opgelost :)

Ik fiets op de accu van m'n iPod :) | Specs | Pics | Elektro: NL / EN