Avatar billede duno Nybegynder
03. december 2004 - 21:22 Der er 5 kommentarer og
1 løsning

Hvordan undersøger jeg om indholdet findes i anden tabel

Jeg har 2 tabeller i samme database, i den ene har jeg et felt (id) og i den anden har jeg et felt (vareid) jeg vil undersøge om (vareid) allerede er tilstede (eks 275).

Hvis 275 findes i tabel 2 skal den skrive eksistere

ellers skal den ikke skrive noget.

mit forslag ser ud som følger

If varer.Fields.Item("id") = ordrer.Fields.Item("vareid") Then
Response.Write "eksistere"
End if

.... ....

Jeg viser en masse vare men jeg vil undersøge om varen er i ordre, (er den ikke tilstede i ordre skal den ikke foretage sig mere med det)

med ovenstående eksempel viser den ingen foreskel, det er altså somom den ignorere "if sætningen"

jeg bruger naturligvis en

ordrer.Source = "SELECT * FROM ordrer"

for at hente alt indholdet af ordrer.

Duno :-)
Avatar billede cpccorp Juniormester
03. december 2004 - 21:31 #1
ordrer.Source = "SELECT * FROM ordrer WHERE vareid=" & varer.Fields.Item("id") & ";"

Do While NOT ordrer.EOF
response.write "exist"
ordrer.movenext
loop
Avatar billede ellebaek Nybegynder
03. december 2004 - 22:00 #2
eller blot...

ordrer.Source = "SELECT * FROM ordrer WHERE INNER JOIN varer ON order.vareid= varer.id"

if NOT ordrer.EOF
response.write "exist"
end if

så kan du nøjes med en enkelt sql sætning...
Avatar billede duno Nybegynder
03. december 2004 - 23:12 #3
jeg får følgende fejl, hvis jeg prøver version 1

Microsoft JET Database Engine error '80040e07'

Data type mismatch in criteria expression.

/butik/default.asp, line 276

linie 276 er nederste linie


Set ordrer = Server.CreateObject("ADODB.Recordset")
ordrer.ActiveConnection = MM_db_STRING
varer.id"
ordrer.Source = "SELECT * FROM ordrer WHERE vareid=" & varer.Fields.Item("id") & ";"
ordrer.CursorType = 0
ordrer.CursorLocation = 2
ordrer.LockType = 3
ordrer.Open()
Avatar billede ellebaek Nybegynder
04. december 2004 - 00:37 #4
prøv den jeg har skrevet..

Problemet med den sql du viser er at den antager du allerede kender varer("id")..

når du ikke gør det kan du også bruge:

Set ordrer = Server.CreateObject("ADODB.Recordset")
ordrer.ActiveConnection = MM_db_STRING
varer.id"
ordrer.Source = "SELECT * FROM ordrer,varer WHERE ordrer.vareid=varer.id;"
ordrer.CursorType = 0
ordrer.CursorLocation = 2
ordrer.LockType = 3
ordrer.Open()

men det er i bund og grund at gøre det samme som jeg har skrevet i den anden sql...
Avatar billede duno Nybegynder
25. maj 2005 - 19:26 #5
ellebæk, jeg savner et svar fra dig

Stik mig et svar så betaler jeg
Avatar billede ellebaek Nybegynder
26. maj 2005 - 00:24 #6
et bette svar så :-)
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