30. september 2003 - 15:59
Der er
33 kommentarer og 2 løsninger
Kombinere data fra 2 taballer med IF - THEN
Jeg har en tabel med brugere og en tabel med forsendelse. Hvis brugeren er fra DK er forsendelse = 1 Hvis brugeren er fra Norge er forsendelse = 2 osv. hvordan henter jeg det ind (begge recordset er åbne) If bruger.land = dk THEN forsendelse.ID = 1 og så få jeg en fejl, sikkert fordi jeg skal kalde de forskellige recordset - hvordan gør jeg det?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
30. september 2003 - 16:03
#1
du åbner bare din database og i den første f.x select from bruger så siger du: strLand = rs("land") derefter går du ind i den nye tabel select from forsendelse og siger: if strLand = dk Then ID = 1
30. september 2003 - 16:03
#2
forstår du hvad jeg siger?
30. september 2003 - 16:08
#3
Du skaber sikkert dit recordsæt således: Set objrs1 = objConn(SQL) Når du skal udtrække poster fra dette, angiver du navnet på recordsættet: objrs1("Navn_På_Kolonne")
30. september 2003 - 16:09
#4
objConn.Execute(SQL)
30. september 2003 - 16:10
#5
ja det tror jeg, prøver lige
30. september 2003 - 16:20
#6
du husker at sætte " omkring ikke-tal værdier
30. september 2003 - 16:29
#7
nej det vidste jeg ikke :-) ok jeg får ingen fejl men prisen skifter ikke. tabellen forsendelse har 2 felter id forsendelsespris jeg skriver + Forsendelse " & ors1("forsendelsespris") &
30. september 2003 - 16:30
#8
må ve se hele koden ?
30. september 2003 - 16:33
#9
'Get Users email Dim ors Set ors = Server.CreateObject("ADODB.Recordset") ors.ActiveConnection = Conn ors.Source = "SELECT * FROM brugere WHERE brugernavn='" & UniqueIdValue & "';" ors.CursorType = 0 ors.CursorLocation = 2 ors.LockType = 3 ors.Open() 'Get Users order for i=0 to ubound(CCcart,2) if CCcart(CC_ProductID,i) <> "" then Call SaveToDatabase(ordrer) bodyStr = bodyStr & CCcart(CC_Quantity,i) & " stk " & CCcart(CC_Name,i) & vbCrLf end if next 'Get shipping Dim ors1 Set ors1 = Server.CreateObject("ADODB.Recordset") ors1.ActiveConnection = Conn ors1.Source = "SELECT * FROM forsendelse" ors1.Open() IF ors("land") = dk THEN ors1("id") = "1" End if IF ors("land") = no THEN ors1("id") = "2" End if IF ors("land") = andet THEN ors1("id") = "3" End if og så henter jeg den ind i en mailformular med JMail.Body = "Hej " & UniqueIdValue & vbCrLf & vbCrLf JMail.Body = JMail.Body & "Tak for din ordre - du har bestil følgene vare" & vbCrLf JMail.Body = JMail.Body & bodyStr JMail.Body = JMail.Body & vbCrLf JMail.Body = JMail.Body & "Pris kr.: " & CCcart_GrandTotal & vbCrLf JMail.Body = JMail.Body & "+ Forsendelse " & ors1("forsendelsespris") & vbCrLf JMail.Body = JMail.Body & "Tak for din bestilling som bliver sendt til din adresse:" & vbCrLf & vbCrLf JMail.Body = JMail.Body & ors("Fornavn") & " " & ors("Efternavn") & vbCrLf JMail.Body = JMail.Body & ors("gade") & vbCrLf JMail.Body = JMail.Body & ors("postnummer") & " " & ors("bynavn") & vbCrLf & vbCrLf JMail.Body = JMail.Body & "Tak fordi du handlede hos os !"
30. september 2003 - 16:34
#10
Hvilken pris skal skifte til hvad?
30. september 2003 - 16:36
#11
jeg har 3 priser (forsendelsespris) id forsendelsespris 1 50 2 150 3 andet hvis brugerens land er norge er det id 2 håber det giver mening
30. september 2003 - 16:39
#12
Du vil gerne opdatere recordsæt "ors"? IF ors("land") = dk THEN ors1("id") = "1" End if IF ors("land") = no THEN ors1("id") = "2" End if IF ors("land") = andet THEN ors1("id") = "3" End if
30. september 2003 - 16:41
#13
ja så den vælger en pris for norge, danmark og andet på baggrund af tabellen brugere hvor land fremgår
30. september 2003 - 16:44
#14
If ors("land") = "dk" Then ID = 1 ElseIf ors("land") = "no" Then ID = 2 Else ID = 3 End If Conn.Execute("Update forsendelse Set id = " & ID & " Where ? = ?")
30. september 2003 - 16:49
#15
Du har ingen where-clause på det SQL-statement, der udtrækker poster til "ors1". Derfor er jeg ikke klar over, hvilken post du vil opdateret.
30. september 2003 - 16:51
#16
ok jeg vil opdatere forsendelsespris fra tabellen forsendelse jeg ved ikke hvordan jeg ellers skal forklare det
30. september 2003 - 16:55
#17
du vil ændre forsendelses prisen hvergang der bliver sendt noget eller hvad siger du?
30. september 2003 - 17:01
#18
jeps det er rigtigt
30. september 2003 - 17:04
#19
så skal du bruge nogen update så skal du have dine værdier ind i denne slags skema: strSQL = "Update personer set " strSQL = strSQL & "Land= 'din værdi', " strSQL = strSQL & "ID= 'din værdi' " strSQL = strSQL & " Where kolonne = betingelse" husk Conn.Execute(strSQL)
30. september 2003 - 17:04
#20
eller ikke ændre men tage den forsendelsespris der er aktuel på baggrund af brugerens land dk 50,00 no 150,00 Altså hvis brugeren er fra norge så står det i brugertabellen og så vil jeg hente forsendelsespris fra forsendelses tabellen
30. september 2003 - 17:05
#21
ups personer er fra mit eget skema, det skal self hede forsendelse
30. september 2003 - 17:08
#22
så skal du ud i et regnestykke jeg kender ikke kurserne men det bygges vist på if id = '1' then forsendelsespris = cint(penge * danskkurs) dette gælder jo ikke hvis du tager udgangspunkt i dansk kurs
30. september 2003 - 17:09
#23
altså det der sker i ovenstående er at beløbet bliver ganget med kursen for landet, og derved findes beløbet
30. september 2003 - 17:10
#24
eller hvis det vare er forsendelses prisen if id = '1' then forsendelsespris = 50 if id = '2' then forsendelsespris = 150
30. september 2003 - 17:13
#25
I to vrøvler vist lige meget. Håber I finder ud af det.
30. september 2003 - 17:15
#26
lol :D
30. september 2003 - 17:20
#27
1) En kolonne kan ikke være lig en betingelse. Der kan opstilles en betingelse for en kolonne. 2) En single quot ' angiver i VB-script en kommentar. 3) Der mangler to gange End If - hvis ikke du stiller sætningen på samme linie. 4) Ved du, hvad du selv vil, swing?
30. september 2003 - 17:21
#28
betingelsen er skuda det som kolonnen kræver værdien er
30. september 2003 - 17:21
#29
hehe det er ikke nemt at forklare jeg prøver med lidt kode måske det hjælper :-) IF ors("land") = dk THEN ors1("id,1") = ors1("forsendelsespris") End if IF ors("land") = no THEN ors1("id,2") = ors1("forsendelsespris") End if IF ors("land") = andet THEN ors1("id,3") = ors1("forsendelsespris") End if
30. september 2003 - 17:22
#30
2-3 FOLK KAN VEL TÆNKE SELV!?!?
30. september 2003 - 17:26
#31
1) En værdi <> en betingelse 2-3) Mener du, at dem du prøver at hjælpe tilmed skal rette dine fejl?
30. september 2003 - 17:27
#32
Hmm ok hvis jeg vidste bedre ville jeg ikke sprøge - men tak for jeres tålmodighed begge to
30. september 2003 - 17:29
#33
Beklager, swing - jeg forstår simpelthen ikke, hvad du vil.
30. september 2003 - 17:39
#34
det er ok
30. september 2003 - 17:51
#35
netro > always look at the bright side of life, du har måske en 2-3 års mere erfaring med asp end mig, (grundet jeg startede for 3 måneder siden) men lad være at være så nedladende
Kurser inden for grundlæggende programmering