Toon posts:

SQL in VB met ADOBD (werkt niet)

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik werk met een MsAccess database in VB6.
Dit werkt niet:

Set rsPers = New ADODB.Recordset
With rsPers
.CursorLocation = adUseServer
.ActiveConnection = frmMain.DB
.CursorType = adOpenForwardOnly
.LockType = adLockOptimistic
End With

sQry = "SELECT Lnr, aN & ', ' & vN & ' ' & tv AS n, Wp, Av, PersID FROM Pers WHERE Lnr LIKE '7*' ORDER BY lnr AND an AND wp AND av"
rsPers.Open sQry

Maar als ik het SQL gedeelte in ACCESS invoer krijg ik wel wat ik wil (dus dat is goed). Hoe kan het, dat het niet in VB werkt??

Als ik de SQL zo in voer:
' rsPers.Filter = sQry
Dan doet ie het wel, maar dan laad ie volgens mij eerst de hele tabel en later filtert ie het er uit.

Help me.

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:12

Crazy D

I think we should take a look.

Vanuit VB (naja, zeg maar overal behalve binnen Access) is % de wildcard, niet *.
Da's zo het eerste wat me opvalt.
Verder vind ik je order by wat vaag, die and tussen de veldnamen heb ik nog nooit gezien (doe altijd order by veld1, veld2, etc).

Exact expert nodig?


  • Greyfox
  • Registratie: Januari 2001
  • Laatst online: 16-09 21:53

Greyfox

MSX rulez

Op vrijdag 09 november 2001 14:45 schreef MMB het volgende:
sQry = "SELECT Lnr, aN & ', ' & vN & ' ' & tv AS n, Wp, Av, PersID FROM Pers WHERE Lnr LIKE '7*' ORDER BY lnr AND an AND wp AND av"
rsPers.Open sQry
Ik snap die & ',' & niet.
Als je een query in VB samenstelt, moet die met & "," & aan elkaar geknoopt worden.
De single quote is gereserveerd voor commentaar.

MSX 2 rulez more


Verwijderd

Topicstarter
CrazyD_at_work:
Ja dat kan inderdaad ook, mischien wel mooier.
Greyfox:
Die single quote is er voor om de achternaam, voornaam en tussenvoegsel in een keer uit te voeren. Er komt bijvoorbeeld uit:
>> Vries, Piet de

Het is dus om velden in een SQL-opdracht aan elkaar te knopen.

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:12

Crazy D

I think we should take a look.

Wat doet ie als je de * vervangt door % ? (Like '7%' dus)

Exact expert nodig?


Verwijderd

Topicstarter
Nog even aan CrazyD_at_work:
Je hebt inderdaad gelijk. Bedankt voor deze (simpele toch mooie) tip. --> % ipv *

  • Greyfox
  • Registratie: Januari 2001
  • Laatst online: 16-09 21:53

Greyfox

MSX rulez

Op vrijdag 09 november 2001 15:24 schreef MMB het volgende:
CrazyD_at_work:
Die single quote is er voor om de achternaam, voornaam en tussenvoegsel in een keer uit te voeren. Er komt bijvoorbeeld uit:
>> Vries, Piet de

Het is dus om velden in een SQL-opdracht aan elkaar te knopen.
Ik dacht dat dat een + was en geen &

MSX 2 rulez more


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:12

Crazy D

I think we should take a look.

Op vrijdag 09 november 2001 15:33 schreef Greyfox het volgende:
Ik dacht dat dat een + was en geen &
Bij mijn weten ook maar in een query in Access kun je ook VBscript stoppen, en dan kan & weer wel... :)

Exact expert nodig?


Verwijderd

Greyfox: Ik dacht dat dat een + was en geen &
Volgens SQL-89, SQL-92 en SQL3 is 't: ||
Maar helaas denkt Microsoft daar weer anders over... :?
Pagina: 1