Avatar billede ds-zim Nybegynder
30. august 2000 - 09:27 Der er 9 kommentarer og
2 løsninger

SQL-forespørgsel i Access/VB 6.0

Mit mål er at benytte SQL forespørgsler i koden bag en formular.
Umiddelbart har jeg prøvet;

Akt = \"SELECT Count (Aktivitet) AS [Long]FROM Aktiviteter WHERE (Udført) = 5;\"

giver fejlmed. \'Type Mismatch\' :(

Akt = [SELECT Count (Aktivitet) AS [Long] FROM Aktiviteter WHERE (Udført) = 5;]

giver fejlmed. \'Access kan ikke finde feltet \"|\"\' }(

Akt = (SELECT Count (Aktivitet) AS [Long] FROM Aktiviteter WHERE (Udført) = 5;)

bliver slet ikke accepteret, \'Expected : Expression\' *SkUmLe*

Nogen der kan forklare brugen af SQL i VB ?
Avatar billede ds-zim Nybegynder
30. august 2000 - 09:39 #1
Nu er nået til at

Akt.SQL = \"SELECT Count (Aktivitet) AS [Long] FROM Aktiviteter WHERE (Udført) = 5;\"

melder \'Invalid qualifier\' :(

Egentlig returner forespørgslen \"kun\" en talværdi (antal poster), og jeg har Dim\'d Akt til Long.

Hva er der galt ?
Avatar billede privaten Nybegynder
30. august 2000 - 09:48 #2
Prøv med:

Function RecordsInTable() As Long
    \' dim af oRS, database etc...
    \' bla bla
    \' bla bla
    Set rs = db.OpenRecordset(\"SELECT Count(*) AS Records FROM Aktiviteter WHERE (Udført)=5;\")
    rs.MoveFirst
    RecordsInTable = rs(\"Records\")
    \' exit, close af db etc....
End Function
Avatar billede sjensen Nybegynder
30. august 2000 - 10:52 #3
Den skal se sådan ud:

SELECT Count (Aktivitet) as Akt FROM Aktiviteter WHERE (Udført = 5)
Avatar billede ds-zim Nybegynder
30. august 2000 - 10:59 #4
Hvordan tildeler jeg en kontrol(akt = textbox) resulatet af den query ?
Avatar billede sjensen Nybegynder
30. august 2000 - 11:07 #5
Når du i en select skriver select count xxx as yyy where ... så vil antallet af xxx blive leveret i yyy.

yyy skal derfor være en alm. talvariabel.

Den kan du efterfølgende sætte ind i alle tekstkontroller (tekstbokse) ved at omdanne den til en streng og sætte tekstboksens text-del = strengen.
Avatar billede cktarget Nybegynder
07. september 2000 - 10:45 #6
Hvis det er noget kode der skal bruges til at køre en forespørgsel, således at du kan linke en controlbox, til den værdi. Så kan du bruge kommandoen

docmd.runsql(\"SELECT Count (Aktivitet) AS [Long] FROM Aktiviteter WHERE (Udført) = 5;)\")

og så indsætte denne værdi i den controlbox du skal bruge den i.

mvh Kedde
Avatar billede ds-zim Nybegynder
07. september 2000 - 10:57 #7
Hot Damn ! Der var den jo :D Den kommando har jeg længe sukket efter
Ur da MAN, Kedde !! Da MAN !!

->SJensen får også del i pointene, da hans besvarelse også var uddybet
Avatar billede ds-zim Nybegynder
11. september 2000 - 15:31 #8
Den her kode giver fejlen \'Expected Function or Variable\' ?!? ;
  TEST = DoCmd.RunSQL(\"SELECT TOP 1 KontraktID FROM Kontrakter ORDER BY KontraktID DESC\", True)
Avatar billede moses Praktikant
12. september 2000 - 15:27 #9
Jeg er også lidt forvirret. [ingen kommentarer på det - tak ;-) ]
Er RunSQL ikke kun til action-queries. Der kommer jo ikke noget egentligt output ud af kommandoen - kun et slutteligt resultat i en eller anden tabel. F.eks. sletning af records eller oprettelse af en tabeller.
Avatar billede ds-zim Nybegynder
19. september 2000 - 13:59 #10
Jeg er bange 4 at du har ret Moses !
Jeg kan slet ikke få ovenstående VB-streng til at virke }(
Jeg rammer altid \'Expected Function or Variable\' *PiV*
Avatar billede ds-zim Nybegynder
19. september 2000 - 14:32 #11
-> Moses
Her (http://msdn.microsoft.com/library/officedev/off2000/acactRunSQL.htm)
påstås det at RunSQL kan bruges både til actionqueries såvel som data-definition queries
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel