10. december 2002 - 21:08Der er
6 kommentarer og 2 løsninger
Udtræk fra to databaser afhængig af ID i den ene
Hvordan får jeg den til at tage det nyeste indlæg fra database udtræk nr 2, hvis der findes sådan et i forhold til udtræk nr 1. Dvs. at de to udtræk skal passe til hinanden. I database 2 er der et felt som indeholder samme værdi som ID fra nr 1, det hedder BillederID.
Set rs1 = Server.CreateObject("ADODB.RecordSet") Set rs2 = Server.CreateObject("ADODB.RecordSet") strSQL1 = "SELECT * FROM Billeder order by Dato Desc" strSQL2 = "SELECT TOP 1 * FROM Billederindlaeg Where BillederID=" & strID & " order by Dato Desc" strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("database/Billeder.mdb") rs1.Open strSQL1, strDSN, 1, 3 rs2.Open strSQL2, strDSN, 1, 3
Så der skal være noget if hvis der ikke findes et record i database 2 der har dette BillederID og hvis der er, skal skrive det nyeste. Jeg har forsøgt selv, men kan ikke rigtig finde en løsning.
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
Hvis jeg forstår det rigtigt så det noget i stil med dette du vil havde:
Set rs1 = Server.CreateObject("ADODB.RecordSet") Set rs2 = Server.CreateObject("ADODB.RecordSet") strSQL1 = "SELECT * FROM Billeder order by Dato Desc" strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("database/Billeder.mdb") rs1.Open strSQL1, strDSN, 1, 3
Do While Not rs1.EOF > 0 ' BillederID strID = rs1("ID")
strSQL2 = "SELECT TOP 1 * FROM Billederindlaeg Where BillederID=" & strID & " order by Dato Desc" rs2.Open strSQL2, strDSN, 1, 3 'NOGET MED rs2 HER
eagleeye >> Han vil have "Multiple Database". Jeg har gjort det en gang, hvis jeg kan huske rigtig, nu er jeg blevet for gammel :) Først skal du åbne det ene: set conn = server.createObject("ADODB.Connection") Set rs1 = Server.CreateObject("ADODB.RecordSet") strSQL1 = "SELECT * FROM Billeder order by Dato Desc" strConn = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("database/Billeder.mdb") rs1.Open strSQL1, strConn, 1, 3
Do While Not rs1.EOF > 0 ' BillederID strID = rs1("ID") rs1.movenext loop
Nu skal du lukke det hele RS + Conn conn.close rs1.Close Set rs1 = Nothing
strID=request.querystring("strID")
nu åbner du den anden og bruger strID i din næste sql sætning: strSQL2="select bla bkla from bla where ID = '" & strID & "'
Jeg ved ikke om den virker men prøv! du skal bare lidt leje med det
med det mener jeg helt forfra: (nu åbner du den anden og bruger strID i din næste sql sætning: strSQL2="select bla bkla from bla where ID = '" & strID & "')
set strConn2 = server.createObject("ADODB.Connection") Set rs2 = Server.CreateObject("ADODB.RecordSet") strSQL2 = "SELECT * FROM Billeder order by Dato Desc" strConn2.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("database/Billeder.mdb") rs1.Open strSQL1, strConn2, 1, 3 ....
Tak for jeres svar, jeg forsøger mig lidt frem med det. Der går desværre nok et stykke tid inden jeg får tid til at prøve det (eksamner). Foreløbig tak for jeres hjælp.
Nu har jeg forsøgt lidt, men bare uden held. Der lavet en query mellem de to tabeller. Det er ID fra den ene der linker til BillederID i den anden tabel. Nedenstående er min kode. Den siger at der loop uden do. Menningen er at den skal hente den nyeste record BillederID der passer med ID, hvis der findes en sådan record.
Dim strtabel strtabel="</td>"
Set rs1 = Server.CreateObject("ADODB.RecordSet") Set rs2 = Server.CreateObject("ADODB.RecordSet") strSQL1 = "SELECT * FROM Billeder order by Dato Desc" strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("database/Billeder.mdb") rs1.Open strSQL1, strDSN, 1, 3
If Not (rs1.BOF Or rs1.EOF) Then rs1.PageSize = 20 rs1.AbsolutePage = intPage intRecCount = rs1.PageSize intPageCount = rs1.PageCount
Do While Not rs1.EOF And intRecCount > 0 ' BillederID strID = rs1("ID")
strSQL2 = "SELECT * FROM Billederindlaeg where BillederID=" & strID & " order by Dato Desc" rs2.Open strSQL2, strDSN, 1, 3
If strtabel = "</td></tr><tr>" Then strtabel = "</td>" Else strtabel = "</td></tr><tr>" End If intRecCount = intRecCount - 1 rs1.MoveNext Loop Loop End If rs1.Close Set rs1 = Nothing
Ok, det er ikke 2 DB'er som du har, det er tale om to tabeller. Du skal bare joine dine tabeller, det er ikke brug for 2 recordset. send din DB til mig med nogle få data, jeg kigger på det, men du vil have en side paging pr. side 20? mach3@get2net.dk
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.