Avatar billede juggalo Nybegynder
18. august 2004 - 19:01 Der er 9 kommentarer og
1 løsning

"join" uden nøgle (Access 2000)

Jeg har 2 tabeller, som begge har et autonummerfelt og et værdifelt.

Jeg ville gerne kunne select'e værdifeltet sammen parvis... altså:

tabel1:
id
værdi1

tabel2:
id
værdi2

recordset:
tabel1.værdi1(1), tabel2.værdi2(1)
tabel1.værdi1(2), tabel2.værdi2(2)
tabel1.værdi1(3), tabel2.værdi2(3)
tabel1.værdi1(4), tabel2.værdi2(4)
osv.

Nogen ide til hvordan det eventuelt kan gøres??
Avatar billede mugs Novice
18. august 2004 - 19:09 #1
Du skal ind og lave en union-forespørgsel. Søg evt. efter den i eksperten's søgefunktion
Avatar billede mugs Novice
18. august 2004 - 19:11 #2
Avatar billede juggalo Nybegynder
18. august 2004 - 19:37 #3
kan ikke bruge union (umiddelbart i hvert fald)

Jeg vil have, at mine data skal komme parvis - altså den 1. post fra tabel1 og den 1. post fra tabel2, den 2. post fra tabel1 og den 2. post fra tabel2 osv. osv.
Avatar billede hekla Nybegynder
18. august 2004 - 20:02 #4
Opret en forespørgsel i designvisning, vælg de to tabeller, træk en streg (relation) mellem de to ens felter i de to tabeller og vælg dine felter.
Avatar billede juggalo Nybegynder
18. august 2004 - 20:04 #5
Som skrevet i overskriften, så har jeg ingen fælles nøgle i de 2 tabeller.
Avatar billede madschristensen Nybegynder
19. august 2004 - 08:34 #6
Opret en forespørgsel for hver tabel. Lav en counter i hvert recordset og herefter join'er du på disse counters - så er de parvist samlet.
Avatar billede juggalo Nybegynder
19. august 2004 - 08:37 #7
kan du give eksempel madschristensen?
Avatar billede madschristensen Nybegynder
19. august 2004 - 09:06 #8
Tja - jeg kan lave det i vba - der går lige lidt..
Avatar billede madschristensen Nybegynder
19. august 2004 - 10:12 #9
Efterfølgende kode (DAO 3.6) danner et recordset fra tabellen test og laver herefter et nyt felt (vCounter). Data i vCounter laves om til til 1,2,3...

Det kan du jo gøre med begge tabeller, og herefter joine dem på vCounter.

Dim db As Database, rs As Recordset, strSQL As String, Counter As Long

Set db = CurrentDb
strSQL = "select *, 1 as vCounter from test;"

Set rs = db.OpenRecordset(strSQL)

rs.MoveFirst

Counter = 0 'Start værdi

While Not rs.EOF ' gennemløbe posterne en for een
    rs.Edit
    rs.Fields("vCounter").Value = Counter
    Counter = Counter + 1
    rs.Update
    rs.MoveNext
Wend


Set rs = Nothing
Set db = Nothing
Avatar billede juggalo Nybegynder
02. september 2004 - 08:43 #10
Desværre ingen brugbare svar - lukker spørgsmålet.

Tak til dem der forsøgte :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