Avatar billede kolme Nybegynder
19. februar 2006 - 17:57 Der er 11 kommentarer og
1 løsning

sql query i VB

Jeg kan simpelthen ikke finde ud af at lave et rigtigt SQL-udtræk fra mit accessprojekt (adp). Er der nogle der kan give mig et eksempel. Eksempelvis ud fra en ganske alm. Select-statement (Min er dog inner join. Har det betydning?). Min plan er at jeg skal gennemløbe tabellen mhb. at trække alle e-mails ud i en textboks...
Avatar billede mugs Novice
19. februar 2006 - 18:03 #1
Hvad vil du med en masse e-mails i en tekstboks. Hvis du bruger en liste er det mere dynamisk, idet du har mulighed for at vælge een eller flere adresser og sende til de valgte. Listen kan have en postkilde som f.eks.:

SELECT Tabel2.email FROM Tabel2;

Der ligger et eksempel i artikelsektionen på afsendelse af e-mail fra Access.
Avatar billede kolme Nybegynder
19. februar 2006 - 18:42 #2
Tak for forslaget, men det er ikke det jeg søger.
Avatar billede jensen363 Forsker
20. februar 2006 - 08:34 #3
Hvis vi skal lave et ensempel, er det nødvendigt at vide hvilke tabeller du laver dine udtræk fra ... det er ved udtræk fra flere tabeller du benytter JOIN
Avatar billede kolme Nybegynder
20. februar 2006 - 08:48 #4
Jeg forventede bare at det kunne gøres ud fra en alm. sql og så kunne jeg erstatte den med min. Men vi kan jo sige at det er flg. sql-sætning: SELECT tbl2.Email FROM tbl1 INNER JOIN tbl2 ON tbl1.Pk_id = tbl2.Fk_id
Avatar billede kolme Nybegynder
20. februar 2006 - 08:50 #5
Det er ikke så meget sql'en der driller. Det kan jeg godt finde ud af. Men det er måden hvorpå jeg gennemløber en forespørgsel i VBA. JEg ved ikke om der skal være en connection, da access projektet jo egentlig allerede har 'åbnet' forbindelsen...
Avatar billede jensen363 Forsker
20. februar 2006 - 08:51 #6
Jeg er nødt til at spørge :


Hvad forbinder du med SQL / hvad vil du opnå ?

Hvad er dine tabelnavne / indholdet ?
Avatar billede kolme Nybegynder
20. februar 2006 - 08:57 #7
Access skal fungere som interface for en allerede eksisterende MSSQL database. Jeg skal så trække en række mailadresser ud.
Tabeller:
Tbl1: PK_id, CPR
Tbl2: Fk_id, mail

Der er selvfølgelig mere i tabellerne men dette burde være nok til at løse problemet.
Svar nok?
Avatar billede jensen363 Forsker
20. februar 2006 - 08:58 #8
En SQL i VBA ....

Function Eksempel()
Dim strSQL As String
Dim db As DAO.Database

    Set db = CurrentDb()

    strSQL = "SELECT tbl2.Email FROM tbl1 "
    strSQL = strSQL & "INNER JOIN tbl2 "
    strSQL = strSQL & "ON tbl1.Pk_id = tbl2.Fk_id;"

        db.Execute strSQL

End Function
Avatar billede kolme Nybegynder
20. februar 2006 - 11:17 #9
Hvordan gennemløber jeg den?
Hvad skal der være i while løkken? Hvis jeg vil tilføje alle mailadresserne til eks. en tekstboks?
Avatar billede masowich Nybegynder
20. februar 2006 - 20:43 #10
Jeg ved ikke om dette virker da jeg ikke har access installeret og derfor ikke kan proeve det efter.

Private Sub DisplayEmail()
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "SELECT tbl2.Email FROM tbl1 INNER JOIN tbl2 ON tbl1.Pk_id = tbl2.Fk_id", currentproject.Connection, adOpenKeyset

Do While Not rs.EOF
  Me.MyTextField = rs!email
  rs.MoveNext
Loop

rs.Close
Set rs = Nothing
End Sub
Avatar billede kolme Nybegynder
14. marts 2006 - 08:54 #11
Tak Jensen363 og masowich, I fik mig på rette vej! Smid et svar, hvis I vil have point
Avatar billede jensen363 Forsker
14. marts 2006 - 08:56 #12
Svar :o)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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