[access 2003] beginnersfoutje: type mismatch bij searchform

Pagina: 1
Acties:

  • cor-gijs
  • Registratie: Maart 2000
  • Laatst online: 24-05 17:06

cor-gijs

Dig further for bigger hole

Topicstarter
Dit is één van de eerste dingen die ik doe met Access. Ik heb een table met leveranciersgegeven en ik heb een form gemaakt waarmee ik de leveranciersgegevens kan zien (LeveranciersInfo). Nou wil ik een searchform (LeverancierZoeken)maken waarmee ik een leverancier kan vinden door (een gedeelte van) de naam in te vullen.
Na wat zoekwerk kwam ik een mooie HowTo tegen op internet, maar dit krijg ik helaas niet werken. Ik krijg steeds een runtime error '13' - Type mismatch
Hier mijn code

code:
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub cmdFindLeverancier_Click()
Dim strFilter As String
Dim varItem As Variant

strFilter = ""
    If Not IsNull(Me!txtFindLeverancier) Then strFilter = strFilter & "[CRNAAM] Like  Chr(34) & " * " &Me!txtFindLeverancier& " * " & Chr(34) &"
    
If strFilter <> "" Then strFilter = Left$(strFilter, Len(strFilter) - 5)

DoCmd.OpenForm "LeveranciersInfo", , , strFilter

End Sub

(CRNAAM is hier de kolom met de leveranciersnamen)
Wat gaat hier fout.

Ik heb al geprobeerd om dit in te vullen ipv de hierbovenstaande regel:
code:
1
f Not IsNull(Me!txtFindLeverancier) Then strFilter = strFilter & "[CRNAAM] Like Me!txtFindLeverancier"


Dit werkt opzich wel, maar heeft twee nadelen:
1) ik moet de volledige naam van de leverancier invullen om resultaat te krijgen, dat is bij bijv. 'Firma Bakker & Zonen & dochters' wat onhandig
2) hij haalt geen info uit het textveld 'txtFindLeverancier' maar opent een nieuw schermpje waar ik mijn zoekcriterium opnieuw in moet vullen.

There is no adequate defense, except stupidity, against the impact of a new idea.


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18-08 21:00

Creepy

Tactical Espionage Splatterer

Aangezien het over Access gaat verplaats ik het topic naar OFF. Zie ook P&W Beleid - Welke vragen kan ik hier stellen

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Je maakt een puinzooi van je quotes en dubbel quotes. Makkelijkste manier om dit te debuggen is een regel op te nemen als
code:
1
debug.print strfilter

Je kunt dan precies nagaan wat de inhoud van strfilter wordt.

Uiteindelijk zal het iets moeten worden als
code:
1
[crnaam] Like 'Blabla*'

In je code moet dan iets komen staan als:
code:
1
strfilter="[crnaam] Like '" & txtfield & "'"

Zoals je ziet wordt alles tussen "" letterlijk overgenomen, de rest wordt als een variabele beschouwd waarvan de waarde wordt overgenomen.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • cor-gijs
  • Registratie: Maart 2000
  • Laatst online: 24-05 17:06

cor-gijs

Dig further for bigger hole

Topicstarter
Bedankt, dit werkt (en is een stuk korter)

There is no adequate defense, except stupidity, against the impact of a new idea.