Typen komen niet met elkaar overeen

  • Onderwerp starter Onderwerp starter jhdw
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

jhdw

Gebruiker
Lid geworden
15 dec 2012
Berichten
166
Goedemorgen,

Ik ben met een simpele database bezig om namen te kunnen selecteren. Het voorbeeldje is een klein onderdeel uit de productie database.
Op het doorlopend formulier "frm_klant" staan in de koptekst 2 velden waarin ik in veld Klant een gedeelte van de naam kan ingeven, het formulier wordt live gefilterd (code ook via dit forum gevonden).
Dat gaat goed, als ik echter in veld Plaats een plaats selecteer dan krijg ik de melding dat de typen niet overeenkomen.
Ogenschijnlijk is het een klein probleem maar ik kom er niet uit.
Op dit forum zijn er ongetwijfeld mensen die mij uit de droom kunnen helpen.

Alvast bedankt voor de moeite.

Mvg
Jan
 

Bijlagen

Je hebt een beetje teveel gegoocheld met aanhalingstekens. De AND was nu onderdeel van de IF, en niet meer van de filterstring. En dat geeft de foutmelding. Dit is de correcte string:
Code:
        sfilter = "[EAD303]= '" & .kzl_plaats & "' And [ENAM03] Like '*" & .txt_naam.Value & "*'"
 
Hallo Michel,

Bedankt voor de zoveelste (snelle) reactie.
Ik heb de code in mijn productie database verwerkt en het zal je niet verbazen: het werkt!
Een volgende keer zal ik proberen om minder te goochelen.

Mvg
Jan
 
Goedemiddag,

Ik had gisteren de status op "opgelost" gezet, maar ik kwam er vandaag achter dat het niet helemaal werkt zoals ik gehoopt had. Het filter werkt prima, maar wat ik in een andere database wel werkend heb is, dat als je in het veld "Klant" tekens invoert die geen resultaat meer opleveren er een melding komt van bijv. "geen gegevens gevonden, kies andere invoer". Ik zie niet wat in deze database anders is als in mijn andere database: de code is gelijk. Het enige verschil is dat in deze database slechts één tabel staat en in de andere meerdere.
De gewenste melding staat al wel in deze database.

Bekijk bijlage Test_filter (2).zip

Wie kan mij hiermee helpen?

Alvast bedankt.

Mvg
Jan
 
Waarom zou je dat willen? zodra je een oneigenlijke combinatie invoert, is de lijst leeg. Je ziet kortom al gelijk wat je filtert. Ik zou daar niet ook nog eens een boodschap van willen hebben, want die moet ik dan weer wegklikken. Zet desnoods een label bij het tekstvak met wat uitleg.
 
Ik zie niet hoe je in een andere db dezelfde procedure wel werkend hebt, want voor zover ik het kan bekijken, gaat hij op deze manier nooit naar de foutmelding.
Code:
    On Error GoTo txt_naam_Change_Error
Lijkt een logische actie: ga bij een foutje naar de foutprocedure. Maar wanneer laat je dat gebeuren? Bij het begin van je code. Dus op een punt waarbij elke fout, vanaf elk punt in je procedure, naar die subroutine moet gaan. En wat gebeurt daar?
Code:
txt_naam_Change_Error:
    Call MsgBox("Er is niets gevonden!" & vbCrLf & vbCrLf & "Maak een andere keuze.", vbExclamation, Application.Name)
    With Me
        .Filter = ""
        .FilterOn = False
    End With

Een handeling die an sich niet erg logisch is (CALL gebruik je om een andere procedure aan te roepen, niet een Msgbox): er verschijnt een msgbox dat er geen records zijn. Niet logisch, want als de fout onstaat bij de actie sNaam = Screen.ActiveControl.Name, trigger je een foutmelding die niks met de fout te maken heeft. Dus dat is op zich al een vreemde actie.
Verder wil je de foutprocedure zien als er geen records zijn. Alleen: hoe moet de fouttrigger dat weten? Je controleert nergens op het aantal records. Dus geen trigger, behalve voor verkeerde acties.
Ik zou zeggen (zie hierboven): gooi die foutcheck maar weg.
 
Goedenavond Michel,

Ik zie dat je alweer gereageerd hebt. Hoe ik het in die andere database voor elkaar gekregen heb, weet ik ook niet meer. Het is daarvoor te lang geleden. Je uitleg is duidelijk, ik haal de foutcheck eruit.
Die Call komt doordat ik MZ-tools op mijn PC gebruik, vind ik handig om snel error afhandelingen of een msgbox te maken.

Bedankt maar weer, er komt vast wel weer een probleem om te hoek, waarbij ik een beroep op dit forum doe.

Mvg
Jan
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan