Avatar billede smads Nybegynder
14. maj 2003 - 11:44 Der er 9 kommentarer og
1 løsning

INSERT-sætning fra liste til tabel

Jeg har oprettet dette spørgsmål én gang før, men fik desværre ikke noget svar jeg kunne bruge. Så jeg prøver lige igen :)

Er der nogen der ved hvorfor jeg ikke kan få lov til at indsætte en post i en tabel ved brug af nedenstående SQL-sætning?

Den første kolonne af tabellen indeholder tekst og den anden indeholder et tal??

CurrentDb.Execute ("INSERT INTO tblCustPref VALUES (""Forms![frmCust]![Display name]"", " & lstPref.ItemData(lstPref.ListIndex) & ")")

Håber på det bedste!
Avatar billede terry Ekspert
14. maj 2003 - 12:11 #1
Cant see the data types of your fields but IF they are text then the value must be inside ''
Also, I cant see which fields are in the table so it san idea to give these in the field list, autonumber fields do notget included.


dim sSQL as string


sSQL = "INSERT INTO tblCustPref ( fld1, fld2 ) VALUES ('" & Forms![frmCust]![Display name]
sSQL = sSQL  & "', " &  lstPref.ItemData(lstPref.ListIndex) & ")"

CurrentDb.Execute ( sSQL)


tHis will alos work

docmd.runsql sSQL
Avatar billede smads Nybegynder
14. maj 2003 - 12:18 #2
Absolutely PERFECT :)
Avatar billede smads Nybegynder
14. maj 2003 - 12:31 #3
If I want to remove an element from the same table would it look like this:

Dim sSQL As String


sSQL = "DELETE FROM tblCustPref (display_name, pref_id) WHERE display_name = '" & Forms![frmCust]![Display name]
sSQL = sSQL & "' AND pref_id = " & lstCustPref.ItemData(lstCustPref.ListIndex) & ")"

CurrentDb.Execute (sSQL)

Why is it necessary to split the SQL query?
Avatar billede terry Ekspert
14. maj 2003 - 17:57 #4
DELETE FROM tblCustPref  WHERE .....

No need for the fields :o)

Splitting th eSQL just makes it easier to read and therfore easier to put together
Avatar billede vanni Nybegynder
15. maj 2003 - 07:38 #5
Hej Terry

Hvorfor forlænger du en streng på næste linie med f.eks. sSQL = sSQL og ikke med underscore, kan det give problemer eller er du bare en "an old basic shark?". :)

Mvh. Vanni
Avatar billede terry Ekspert
15. maj 2003 - 16:28 #6
I just find it easier to put together
Avatar billede vanni Nybegynder
16. maj 2003 - 22:07 #7
Hej Terry

Tænkte bare der var en speciel grund, siden DU ikke brugte _.

Nogle af mine venner siger, der kan være problemer med DIM, hvis man ikke bruger en ny linie for variabel - hvad siger du?

Mvh. Vanni
Avatar billede terry Ekspert
17. maj 2003 - 14:03 #8
when you say "hvis man ikke bruger en ny linie for variabel" do you mean the continuation character _ ?
I have NEVER had problems doing it as I do, so I guess your friends have had to much to drink or something :o)
Avatar billede vanni Nybegynder
17. maj 2003 - 19:16 #9
terry

Yes they drink a lot :)

No it was not the continuation character I mean.

Example:

I can use DIM this way:
DIM a, b, c
or
DIM a
DIM b
DIM c

Mvh. Vanni
Avatar billede terry Ekspert
17. maj 2003 - 19:51 #10
Dim a, b, c 'All variants
Dim a, b, c As Integer 'a and b are variants, only c is an integer
Dim a as integer, b as integer, c As Integer

If you dont give the data type then they get variant as default, so even if you have them on one line then you should give the datatype for them all.
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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