record tel probleem door middel van ADODB.Recordset

Status
Niet open voor verdere reacties.

bassie3

Gebruiker
Lid geworden
16 nov 2013
Berichten
49
Goede avond,
ik wil graag mijn aantal records laten tellen om zo me scherm aan het resultaat aan te passen.

kan iemand mij uitleggen waarom ik op deze code "0" terug krijg en als ik vanaf het where statement weghaal komt wél het aantal records naar boven:

Code:
Dim rst As New ADODB.Recordset
Dim STRSQL As String
Dim tellen As Integer



STRSQL = "SELECT QISKLANT.klantnr,QISKLANT.bedrijf FROM qISklant WHERE klantnr LIKE '*" & Me.txtInvul & "*' ORDER by QISKLANT.klantnr "
 

Me.TxtResult.RowSource = STRSQL
Me.TxtResult.Requery

rst.Open STRSQL, CurrentProject.AccessConnection
tellen = rst.RecordCount
Debug.Print tellen

bij voorbaat dank.
 
Is Klantnr een getal?
 
Dan moet je hem niet als tekst behandelen. Sowieso vind ik het gek dat je met LIKE werkt, want nu filter je met 2 op getallen als 20018, 82, 428 en zo verder. Maar die quootjes moeten weg.
 
ik ben wel zo ver dat het ligt aan de "wildcards" op een of andere manier doet hij het wel bij :
Code:
 STRSQL = "SELECT QISKLANT.klantnr,QISKLANT.bedrijf FROM qISklant WHERE klantnr LIKE " & Me.txtInvul & ""
maar niet als ik de '* .... ' toevoeg.
maar dan moet ik dus exact invullen wat ik zoek in mijn [txtinvul] en ik wil juist een deel ingeven om meerdere resultaten te kunnen weergeven
 
als ik hem invoer zonder ' ' dan geeft hij een syntax error "operator ontbreekt in query expressie"
bij een print krijg ik de volgende regel:
Code:
 SELECT QISKLANT.klantnr,QISKLANT.bedrijf FROM QISklant WHERE klantnr LIKE *36
zou toch goed moeten zijn?
ps ik wil de like expressie ook gebruiken voor een tekst veld like.... or like....
 
Opgelost!
hoe? zo:
Code:
Dim rst As New ADODB.Recordset
Dim STRSQL As String
Dim strsql2 As String
Dim tellen As Integer

STRSQL = "SELECT QISKLANT.klantnr,QISKLANT.bedrijf FROM QISklant WHERE klantnr LIKE '*" & Me.txtInvul & "*' ORDER by QISKLANT.klantnr "
strsql2 = "SELECT QISKLANT.klantnr,QISKLANT.bedrijf FROM QISklant WHERE klantnr LIKE '%" & Me.txtInvul & "%' ORDER by QISKLANT.klantnr "
rst.Open strsql2, CurrentProject.AccessConnection

Debug.Print STRSQL


Me.TxtResult.RowSource = STRSQL
Me.TxtResult.Requery

tellen = rst.RecordCount
Debug.Print tellen
misschien niet ideaal (ivm fouten door dubbele vermelding) maar het werkt
 
Ik had INSTR gebruikt.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan