Avatar billede mickill Nybegynder
25. juli 2003 - 09:34 Der er 9 kommentarer og
2 løsninger

insert i database fra select multiple

Hejsa

Hvordan indsætter man værdier fra en select multiple i en database (access) således at de værdier som er blevet valgt bliver langt i hvert sit felt med hvert sit ID i tabellen?

/Mickill
Avatar billede medions Nybegynder
25. juli 2003 - 09:36 #1
Jeg er ikke helt med på hvad ud mener, men du Requester din SELECT sådan her:

Request.Form("MultipleSelectnavn")

Hvis du så har valgt flere poster i din Multiple Selector så vil det automatis blive genereret som en komaseperaret variabel, så det vil sige du skal bruge IN() i SQL!

//>Rune
Avatar billede cesil Nybegynder
25. juli 2003 - 09:37 #2
For Each Groupx In Request.Form("multifelt")
        Set oRs = oConn.Execute("INSERT INTO tabel (tabelnavn) VALUES (" & Groupx & ")")
Set oRs = Nothing
Next
Avatar billede medions Nybegynder
25. juli 2003 - 09:38 #3
Du kunne fx. updatere din database ved at sige:

strSQL = "UPDATE tblTabelnavn SET Kolonne1 = "Rune" WHERE (ID IN(" & Request.Form("MultipleSelectnavn") & "))"

//>Rune
Avatar billede cesil Nybegynder
25. juli 2003 - 09:39 #4
jeg går i mit eksempel ud fra at du har fx en dropdown multiselect.
Avatar billede cesil Nybegynder
25. juli 2003 - 09:40 #5
din tabel skal jo bare ha et felt id, som er fortløbende.
Avatar billede mickill Nybegynder
25. juli 2003 - 09:45 #6
Jeg har prøvet sådan her:

For Each Groupx In Request.Form("kampagnemodtager")
set rsTilfoej = Server.createobject("adodb.recordset")
sql = "insert into T_Kampagne (Kampagne, Firmanavn, Dato) Values ('"
sql = sql & request.form("kampagnenavn") & "','"
sql = sql & request.form("kampagnemodtager") & "','"
sql = sql & request.form("kampagnedato") & "')"
rsTilfoej.open sql, conn
Set rsTilfoej = Nothing
Next

men det virker ikke helt. er der valgt 2 firmanavne bliver begge firmanavne langt ind 2.
Avatar billede medions Nybegynder
25. juli 2003 - 09:48 #7
For Each Groupx In Request.Form("kampagnemodtager")
set rsTilfoej = Server.createobject("adodb.recordset")
sql = "insert into T_Kampagne (Kampagne, Firmanavn, Dato) Values ('"
sql = sql & request.form("kampagnenavn") & "','"
sql = sql & request.form(Groupx) & "','"
sql = sql & request.form("kampagnedato") & "')"
rsTilfoej.open sql, conn
Set rsTilfoej = Nothing
Next

//>Rune
Avatar billede mickill Nybegynder
25. juli 2003 - 09:52 #8
Okay, nu virker det næsten, på nær at firmanavnene ikke bliver langt ind i databasen. Felterne er tomme.
Avatar billede cesil Nybegynder
25. juli 2003 - 09:55 #9
For Each Groupx In Request.Form("kampagnemodtager")
set rsTilfoej = Server.createobject("adodb.recordset")
sql = "insert into T_Kampagne (Kampagne, Firmanavn, Dato) Values ('"
sql = sql & request.form("kampagnenavn") & "','"
sql = sql & Groupx & "','"
sql = sql & request.form("kampagnedato") & "')"
rsTilfoej.open sql, conn
Set rsTilfoej = Nothing
Next
Avatar billede medions Nybegynder
25. juli 2003 - 09:58 #10
For Each Groupx In Request.Form("kampagnemodtager")
set rsTilfoej = Server.createobject("adodb.recordset")
sql = "insert into T_Kampagne (Kampagne, Firmanavn, Dato) Values ('"
sql = sql & request.form("kampagnenavn") & "','"
sql = sql & Groupx & "','"
sql = sql & request.form("kampagnedato") & "')"
Conn.Execute(sql)
Set rsTilfoej = Nothing
Next

//>Rune
Avatar billede mickill Nybegynder
25. juli 2003 - 10:05 #11
Det virker. Jeg deler pointene mellem jer. Håber det er iorden ?

Tak for hjælpen.
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