Avatar billede swing Nybegynder
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?
Avatar billede nidyahou Praktikant
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
Avatar billede nidyahou Praktikant
30. september 2003 - 16:03 #2
forstår du hvad jeg siger?
Avatar billede netro Nybegynder
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")
Avatar billede netro Nybegynder
30. september 2003 - 16:09 #4
objConn.Execute(SQL)
Avatar billede swing Nybegynder
30. september 2003 - 16:10 #5
ja det tror jeg, prøver lige
Avatar billede nidyahou Praktikant
30. september 2003 - 16:20 #6
du husker at sætte " omkring ikke-tal værdier
Avatar billede swing Nybegynder
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") &
Avatar billede nidyahou Praktikant
30. september 2003 - 16:30 #8
må ve se hele koden ?
Avatar billede swing Nybegynder
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 !"
Avatar billede netro Nybegynder
30. september 2003 - 16:34 #10
Hvilken pris skal skifte til hvad?
Avatar billede swing Nybegynder
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
Avatar billede netro Nybegynder
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
Avatar billede swing Nybegynder
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
Avatar billede netro Nybegynder
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 ? = ?")
Avatar billede netro Nybegynder
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.
Avatar billede swing Nybegynder
30. september 2003 - 16:51 #16
ok
jeg vil opdatere forsendelsespris fra tabellen forsendelse

jeg ved ikke hvordan jeg ellers skal forklare det
Avatar billede nidyahou Praktikant
30. september 2003 - 16:55 #17
du vil ændre forsendelses prisen hvergang der bliver sendt noget eller hvad siger du?
Avatar billede swing Nybegynder
30. september 2003 - 17:01 #18
jeps det er rigtigt
Avatar billede nidyahou Praktikant
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)
Avatar billede swing Nybegynder
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
Avatar billede nidyahou Praktikant
30. september 2003 - 17:05 #21
ups personer er fra mit eget skema, det skal self hede forsendelse
Avatar billede nidyahou Praktikant
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
Avatar billede nidyahou Praktikant
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
Avatar billede nidyahou Praktikant
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
Avatar billede netro Nybegynder
30. september 2003 - 17:13 #25
I to vrøvler vist lige meget. Håber I finder ud af det.
Avatar billede nidyahou Praktikant
30. september 2003 - 17:15 #26
lol :D
Avatar billede netro Nybegynder
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?
Avatar billede nidyahou Praktikant
30. september 2003 - 17:21 #28
betingelsen er skuda det som kolonnen kræver værdien er
Avatar billede swing Nybegynder
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
Avatar billede nidyahou Praktikant
30. september 2003 - 17:22 #30
2-3 FOLK KAN VEL TÆNKE SELV!?!?
Avatar billede netro Nybegynder
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?
Avatar billede swing Nybegynder
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
Avatar billede netro Nybegynder
30. september 2003 - 17:29 #33
Beklager, swing - jeg forstår simpelthen ikke, hvad du vil.
Avatar billede swing Nybegynder
30. september 2003 - 17:39 #34
det er ok
Avatar billede nidyahou Praktikant
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
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