Avatar billede sapworld Nybegynder
22. september 2004 - 06:10 Der er 6 kommentarer og
1 løsning

Hente data fra 2 tabeller i access database fejler

Hej
Jeg prøver for først gang at hente data fra 2 tabeller i access på den samme asp side, men det virker ikke 8(

Jeg starter med at skrive til databasen med nye informationer, samt hive id'et på den oprettede entry:

<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open="database"
strSQL = "Insert into tabel1 (module.................
objConn.Execute(strSQL)
Set RS = objConn.Execute( "SELECT @@IDENTITY" )
nytID = RS(0)
' objConn.Close
%>

Til sidst på siden vil jeg så sende en mail med informationerne. Jeg skal hente modtageren af mailen i en anden tabel i samme database:
<%
strsql = "SELECT * FROM tabel2 WHERE workshop = " & Request.Form("workshop")
Set objRs = Conn.Execute(strSQL)
%>

Jeg sætter det så ind i en mail:
<%
case "o1"  strTo = objRs("contact")
...
...
objMail.To = strTo
<%

Jeg har ikke postet al koden på siden, da det bliver uoverskueligt. Problemt er, at når "siden" når til der hvor der skal hentes data fra tabel2, så kommer denne fejl:
Microsoft VBScript runtime error '800a01a8'

Object required: ''

Der modtages fint data fra form'en på den foregående side, og dette entry er også i tabel 2.

Håber nogle kan gennemskue hvorfor den ikke vil hente data i tabel2 :)

/Kim
Avatar billede arne_v Ekspert
22. september 2004 - 06:29 #1
Har du prøvet alt det mest oplagte:
  - Set RS = Nothing efter første query
  - checket at tabel2 tabellen og workshop feltet hedder det
  - checket at workshop er et tal felt (hvis det er tekst skal det vel
    være strsql = "SELECT * FROM tabel2 WHERE workshop = '" & Request.Form("workshop") & "'"

?
Avatar billede sapworld Nybegynder
22. september 2004 - 07:16 #2
Er der nødvendigt at sætte "Set RS = Nothing" efter første query. Det ville jeg gerne undgå da jeg sender ID'et på den nye entry med mailen.
Jeg har fra foregående side sendt ID'et med over på den entry i Tabel2 hvor jeg skal hente mail adressen fra "strsql = SELECT * FROM course WHERE id =  " & Request.Form("id"), men det virker alligevel ikke. Skal man lukke connectionen til databasen efter at have skrevet til tabel1 og åbne den igen når man skal hente data fra tabel2?
/Kim
Avatar billede arne_v Ekspert
22. september 2004 - 07:23 #3
Du gemmer da en kopi af id med nytID = RS(0)
Avatar billede sapworld Nybegynder
22. september 2004 - 07:23 #4
uf uf fu - kvaje fejl. jeg skulle rette Set objRs = Conn.Execute(strSQL) til Set objRs = objConn.Execute(strSQL). Tak for hintet med forskellen mellem tal og text ifm. en database.

Poster du et svar :)

/Kim
Avatar billede sapworld Nybegynder
22. september 2004 - 07:24 #5
Ok, det var jeg ikke klar over.
/Kim
Avatar billede arne_v Ekspert
22. september 2004 - 07:25 #6
svar
Avatar billede sapworld Nybegynder
22. september 2004 - 07:27 #7
Tak for hjælpen. Man opdager desværre altid de dumme fejl efter man har opgivet. :)
/Kim
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