Avatar billede hitman3k Nybegynder
10. august 2005 - 00:37 Der er 26 kommentarer og
1 løsning

gem data i to tabeller fra en form.

Hejza

Håber i kan forstå dettet:

Jeg har en form.
som får en data t sted fra. når jeg så trykker på en knap. så skal den gemme noget i den tabel som dataen i formen er fra. virker os fint ik det der er mit problem. det er at den også skal gemme noget andet data i en anden tabel ved at trykke på den samme knap som før.. ..

Det er en film database.. hvor jeg har lavet noget låne system i. og nu vil jeg lave noget log over hvad de har haft lånt af mine film.. hehe.

hvis en kan hjælp vil jeg blive glad...
Avatar billede mugs Novice
10. august 2005 - 07:48 #1
Du kna lave en Update når du trykker på knappen, der smider data ind i din LOG-tabel. I stil med denne:

DoCmd.RunSQL "UPDATE TABELNAVN SET TABELNAVN.FELTNAVN = '" & FORMULARFELT &"'"

Hvis feltet er numerisk skal du ikke have gnyffer omkring formularfeltet.
Avatar billede Slettet bruger
10. august 2005 - 08:28 #2
Du kan også lave den forespørgsel eller de forespørgsler, som gør det du ønsker og så kalde den/dem fra knappen:
DoCmd.OpenQuery "DinForespørgsel"
DoCmd.OpenQuery "DinForespørgsel2"
osv.

Det kan så være update forespørgsler eller tilføjelses forespørgsler!~)
Avatar billede Slettet bruger
10. august 2005 - 08:29 #3
Go'morn mugs!~)
Avatar billede mugs Novice
10. august 2005 - 08:32 #4
Mojn' spg.
Det er helt korrekt, at det kna laved med forespørgsler. Principielt laver jeg altid SQL-sætninger for ikke at få alle dissse forespørgsler. Min SQL er for øvrigt også forkert, idet det jo skal være en INSERT og ikke en UPDATE, da jeg forstår, at der drejer sig om nye data der skal tilføjes LOG-tabellen.

Hvis der er problemer med at konstruere INSERT-sætningen, kasn der laves en tilføjelsesforespørgsel, derefter kopiere SQL-sætningen og sætte den ind i en docmd.runsql i VBA.
Avatar billede Slettet bruger
10. august 2005 - 08:35 #5
Det har jeg tænkt på, man kan altså bare overføre sql sætningen til vba...
Bliver det udført hurtigere, ved du det?~)
Avatar billede mugs Novice
10. august 2005 - 08:52 #6
Jeg ved ikke om det er hurtigere. Men hvis SQL skal fyres af fra VBA, skal sætningen stå på een linie eller også bindes sammen med & _:

DoCmd.RunSQL "UPDATE TABELNAVN" & _
"SET TABELNAVN.FELTNAVN = '" & FORMULARFELT &"'""
Avatar billede hitman3k Nybegynder
10. august 2005 - 10:30 #7
er dettet forkert?
DoCmd.RunSQL "insert laanelog" & _
"SET laanelog.laanelogFilmnavn = '" & DVDnavn & "'"""

Hvis ja hvordan skal den så se ud :D
Avatar billede mugs Novice
10. august 2005 - 10:44 #8
INSERT into TABELNAVN (FELTER adskilt med ,) VALUES(Hvad skal indsættes adskilt med ,)
Avatar billede mugs Novice
10. august 2005 - 10:47 #9
DoCmd.RunSQL "INSERT INTO laanelog ([FELT!], FELT2) VALUES (" & Me.FELT! & ",'" & Me.FELT" & "')"

Hvoe FELT1 er numerisk og FELT2 er alfanumerisk
Avatar billede hitman3k Nybegynder
10. august 2005 - 11:07 #10
hva skal der stå i felt 1 er det det felt fra formen som skal gemmes i tabelen eller omvent? :D
Avatar billede mugs Novice
10. august 2005 - 11:10 #11
laanel(" & Me.FELT! & ",'" & Me.FELT" & "')" > er tabellen med 2 felter
(" & Me.FELT! & ",'" & Me.FELT" & "')"
> er felterne i formularen.
Avatar billede hitman3k Nybegynder
10. august 2005 - 11:10 #12
sådan ser den ud og jeg får fejl hva kan det være? :D
Avatar billede hitman3k Nybegynder
10. august 2005 - 11:10 #13
DoCmd.RunSQL "INSERT INTO laanelog ([DVDnavn](" & Me.laanelogFilmnavn & ",'" & Me.laanelogfilmid
Avatar billede mugs Novice
10. august 2005 - 11:17 #14
Prøv at se mit eksempel 10:47:57

Du har kun 1 felt i tabellen, men prøver at overføre 2 felter fra formularen. Samtidig springer du let og elegant over nogle paranteser.

DoCmd.RunSQL "INSERT INTO laanelog (DVDnavn) VALUES ('" & Me.laanelogFilmnavn & "')"
Avatar billede hitman3k Nybegynder
10. august 2005 - 11:39 #15
men den

DoCmd.RunSQL "INSERT INTO laanelog (DVDnavn) VALUES ('" & Me.laanelogFilmnavn & "')"

Fik jeg denne fejl

"
Compile error:

Method or data member not found
"

Hva gør mig forkert? :S
Avatar billede mugs Novice
10. august 2005 - 11:59 #16
Kontroller at du har stavet alle tabel- og feltnavne korrekt.
Avatar billede hitman3k Nybegynder
10. august 2005 - 12:03 #17
her er dem der er i laanelog tabelen
laanelogid
laanelogFilmnavn
laanelogbrugernummer
laaneloghvornaar
laanelogfilmid

Her er formen:
DVDnavn den skal gemmes i laanelogFilmnavn
Type
ID den i laanelogfilmid
Coverid
Spg
proaar
Spilletid
Originaltitel
medvirkene
laantafhvem den i laanelogbrugernummer

sådan ser de ud :S
Avatar billede mugs Novice
10. august 2005 - 12:37 #18
Du refererer til tbl laanelog og feltet DVDnavn. Det feltnavn eksisterer ikke:

DoCmd.RunSQL "INSERT INTO laanelog (DVDnavn) VALUES ('" & Me.laanelogFilmnavn & "')"

Prøv:

DoCmd.RunSQL "INSERT INTO laanelog (laanelogFilmnavn) VALUES ('" & Me.DVDnavn & "')"
Avatar billede hitman3k Nybegynder
10. august 2005 - 12:39 #19
det virker skam :D
Avatar billede hitman3k Nybegynder
10. august 2005 - 12:41 #20
har lige en mere. det er at de andre felter os skal gemmes.... i samme post hvordan udvider jeg det du lige lave :D
Avatar billede mugs Novice
10. august 2005 - 12:46 #21
DoCmd.RunSQL "INSERT INTO laanelog (laanelogFilmnavn, NYT FELT, NYT FELT) VALUES (" & Me.Me.DVDnavn  & ",'" & Me.NYT FELT" & "','" & Me.NYT FELT" & "')"

Husk at fjerne gnyfferne hvis der er tale om numeriske felter.

Tak for point.
Avatar billede hitman3k Nybegynder
10. august 2005 - 12:52 #22
ser dettet forkert ud:
DoCmd.RunSQL "INSERT INTO laanelog (laanelogFilmnavn, laanelogfilmid, laanelogbrugernummer) VALUES (" & Me.DVDnavn & ",'" & Me.ID & " ',' & Me.laantafhvem & " ')"
Avatar billede mugs Novice
10. august 2005 - 13:05 #23
Jeg tror der er et par fejl, du mangler gnyffer omkring Me.DVDnavn, men har gnyffer om Me.ID, er det et alfanumerisk felt? Og så mangler du " før Me.laantafhvem:


DoCmd.RunSQL "INSERT INTO laanelog (laanelogFilmnavn, laanelogfilmid, laanelogbrugernummer) VALUES ('" & Me.DVDnavn & "'," & Me.ID & ",'" & Me.laantafhvem & " ')"
Avatar billede hitman3k Nybegynder
10. august 2005 - 13:06 #24
ja det er et numeriske med et nummer
Avatar billede hitman3k Nybegynder
10. august 2005 - 13:09 #25
Tak for hjælpen fik det til at virke nu :D
Avatar billede mugs Novice
10. august 2005 - 13:13 #26
Selv tak.
Avatar billede mugs Novice
10. august 2005 - 16:52 #27
Hvis du får en advarsel om at du er ved at indsætte 1 post, kan du fjerne den ved denne kode.

docmd.setwarnings false
do.cmdrunsql "bla bla"
docmd.setwarnings true

Husk ALTID at sætte warnings til true igen, ellers forbliver de frakoblede i HELE applikationen.
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