[access] uitvoer van een sql-statment naar een variabele

Pagina: 1
Acties:

  • grote_oever
  • Registratie: Augustus 2002
  • Laatst online: 08:07
ff een vraagie... ik zit met een probleem, heb overal lopen zoeken maar kan niet echt het juiste antwoord vinden, en volgens mij moet het niet moeilijk zijn!! (denk dat ik verkeerd zoek :( )

ik heb een form met een keuze lijst.. als ik op die keuzelijst iets selecteer moet er bekeken worden hoe vaak die waarde in een tabel (tbl_inschrijvingen) zit..

code:
1
select count(*) from tbl_inschrijving where cursus_code = " & test & ";


test = een textveldje

nu moet de uitvoer (count(*)) naar een variable (aantal) .. maar wat ik ook doe.. het lukt me gewoon niet...

ik hoop dat jullie me kunnen helpen...

alvast hartelijk bedankt..

  • Tony diNovo
  • Registratie: Maart 2004
  • Laatst online: 05-06-2025
Zoek je niet zoiets als

code:
1
select count(*) AS aantal from tbl_inschrijving where cursus_code = " & test & ";


Dan is aantal dus je variabele

http://specs.tweak.to/9537


  • grote_oever
  • Registratie: Augustus 2002
  • Laatst online: 08:07
nee...tis een vba scriptje

dus ik zoek dat niet

ik wil gewoon in een variable het aantal record (dus wat ik doe met count(*))hebben...

  • Tony diNovo
  • Registratie: Maart 2004
  • Laatst online: 05-06-2025
Kun je posten wat je tot nu toe hebt aan code?

http://specs.tweak.to/9537


  • Sikkek
  • Registratie: Maart 2004
  • Laatst online: 25-05 20:13
Iets als dit (werkt als je in Access VBA zit...)?

Dim lngCount as long

lngCount = CurrentProject.connection.execute("select count(KEYFIELD) AS Aantal FROM tbl_inschrijving where cursus_code = " & test).Fields("Aantal")

Overigens werkt dit alleen ale test een getal is. Als test een string is, dan dit gebruiken:

lngCount = CurrentProject.connection.execute("select count(KEYFIELD) AS Aantal FROM tbl_inschrijving where cursus_code = '" & test & "'").Fields("Aantal")

Er geldt dat KEYFIELD een veld in je tabel moet zijn die altijd gevuld is (BV een AutoNumber veld, of Primary Key oid)

[ Voor 21% gewijzigd door Sikkek op 26-03-2004 16:06 ]


  • BestTested!
  • Registratie: Oktober 2003
  • Laatst online: 08:50
Dim lngCount as long

lngCount = CurrentProject.connection.execute("select count(KEYFIELD) AS Aantal FROM tbl_inschrijving where cursus_code = " & test).Fields("Aantal")
Is het niet zo dat het Execute commando een RecordSet terug gooit in plaats van een integer/long. Volgens mij als je hem opvangt met een recordset en dan de variabele uit de recordset haalt, dat het wel werkt. Ik werkt zelf niet met VBA, maar met VB in combinatie met databeestjes, dus ik zou er ook goed naast kunnen zitten. Maar ik doe ff een gooi uit mijn blote hoofd...

code:
1
2
3
4
5
6
dim myRecordSet as RecordSet
dim aantalRecords as long

myRecordSet = CurrentProject.connection.execute("select count(KEYFIELD) AS
 Aantal FROM tbl_inschrijving where cursus_code = " & test)
aantalRecords = myRecordSet!Aantal


Of gewoon je gehele recordset laden, en dan de myRecordSet.RecordCount aanroepen

edit:
-----------------

Oops, niet goed gelezen. Staat ook al bij post van Sikkek, maar dan direct. Had .Fields("Aantal") over het hoofd gezien

[ Voor 26% gewijzigd door BestTested! op 27-03-2004 12:18 . Reden: Foutje ]


  • DJ-B
  • Registratie: September 2001
  • Laatst online: 11:36
Het is me niet duidelijk of je ASP gebruikt, maar wellicht heb je hier iets aan?

sql = "SELECT MAX(gb_id) as Totaal FROM gb"
set temp = db.execute(sql)
ABerichten = (temp("Totaal"))

Welliswaar geen Count, maar je kunt dat zo veranderen.
Pagina: 1