Mahtaakohan löytyä seuraavan ongelmaan ratkaisua?
Access2000:ssa on tuoterekisteri taulu ja tuotenumero kenttä. Tuotenumerot joissa on kaksi väliviivaa esim. 1111-2222-3333 seuraava koodi ei löydä, mutta numeron 1111-22223333 löytää. Ilmeisesti näillä väliviivoilla on merkitystä kun kyselyssä käytetään like operaattoria????
strHaku on haettavan tuotenumeron alku esim.1111-2222-
With rsTuotteet .Source = "select tuoteno,nimike from tuoterekisteri where tuotenumero like '" & strHaku & "%' order by tuoteno;" .ActiveConnection = connOmat .CursorLocation = adUseClient .CursorType = adOpenDynamic .LockType = adLockOptimistic .Open End With
Kyseinen haku toimiii kyllä Access 97:lla.
Access 2000:n jokerimerkki on on * - ei %...
Esim...WHERE Lastname LIKE 'D*'...
Jäi hieman epäselväksi käytätkö VBA:ta vai VB:tä eli onko kyseessä Accessilla toteutettu tietokanta sovellus vai VB:llä toteutettu tietokantasovellus, joka käyttää Access tietokantaa?
Mitä kantayhteyttä käytät. Kantayhteyksien rajapinnoilla on eroja. Eli onko kyseessä ADO, ODBC MSJet...
Ja vielä lisäksi ne kaikki komennot kuuluu kirjoittaa ISOILLA KIRJAIMILLA, näin:
.Source = "SELECT tuoteno, nimike FROM tuoterekisteri WHERE tuotenumero LIKE '%" & strHaku & "%' ORDER BY tuoteno"
Toimi ainakin mun joissain tietokantaohjelmissa...
Mahtavaa nyt rupes toimimaan!
Minulta puuttui tuo ensimmäinen % merkki LIKE operaattorin jälkeen. Niin käytän VB 6.0 SP5 ja ADO:a joka käyttää Access tietokantaa.
Kiitokset!!!
Aihe on jo aika vanha, joten et voi enää vastata siihen.