Avatar billede lunddata Nybegynder
27. januar 2006 - 17:11 Der er 18 kommentarer og
1 løsning

Problemer med opdatering

Jeg er noget fortvivlet da jeg har pokkers mange problemer med at få en opdatering til at virke.
Jeg har en formular til indtastning af data i tabellen Bestillinger.
I tabellen Bestillinger har jeg bl.a. felterne
Kode1
Antal1
Kode2
Antal2
Kode3
Antal3 ... osv
Jeg ville egentlig gerne have opdatering til at køre i et hug samtidig med at jeg aktiverer en kommandoknap med TILFØJ POST.
Kan dette lade sig gøre? Eller er der en smartere måde til måske at opdatere hele tabellen BESTILLINGER?
Hvad kunne de præcise koder være?
Avatar billede mugs Novice
27. januar 2006 - 17:23 #1
For at opdatere skal du bruge denne:

Me.Requery

Der kører den underliggende forespørgsel og tilføjer nye poster og opdaterer eksisterende.
Avatar billede lunddata Nybegynder
27. januar 2006 - 17:35 #2
Betyder det at jeg skal oprette en forespørgsel og ud fra denne oprette formularen til indtastninger?

Som det er nu er formularen lavet direkte på basis af tabellen BESTILLINGER.

Hvor og hvordan får jeg Me.Requery med. Er det via en kommandoknap.
Kan Me.Requery opdatere alle poster fra indtastninger i formularen?
Avatar billede lunddata Nybegynder
27. januar 2006 - 17:46 #3
Jeg forsøger med en kommandoknap til opdatering.
Der sker underlige ting. Kun nogle af de ønskede opdateringer slår igennem.
Men ellers ser det ud til at jeg er på rette spor, lige bortset fra...
Avatar billede terry Ekspert
27. januar 2006 - 17:58 #4
I'm not sure I understand your question, but if you want to SAVE any changes tothe current record then try adding a button to the form using the wizard. You can then choose a button wich saves the record.

Otherwise you need to explain some more.

What do you mean "er der en smartere måde til måske at opdatere hele tabellen BESTILLINGER"?

Do you want to update ALL records with some values?


Docmd.runsql "UPDATE Bestillinger SET SomeField = 123"
Avatar billede lunddata Nybegynder
27. januar 2006 - 18:00 #5
Jeg skal lige have kigget min dB lidt nærmere an.
Jeg mener, at Me.Requery virker, men at der ligger andre fejl i opbygningen som jeg lige skal have styr på.
Jeg vender lige tilbage i morgen, da jeg er på vej til Finn og Jakobs optræden.
Avatar billede lunddata Nybegynder
28. januar 2006 - 11:16 #6
Opdateringen virker egentlig godt nok på feltet kode, men ikke på antal
Jeg har ikke forklaret mig godt nok i indledende spørgsmål.
Jeg har faktisk kun felterne
kode1, kode2, kode3...osv synlige
Jeg bruger følgende:
Private Sub Kode1_BeforeUpdate(Cancel As Integer)

If Kode1 = 0 Then
Antal1 = 0

ElseIf Kode1 = 1 Then
Antal1 = 1

ElseIf Kode1 = 2 Then
Antal2 = 1

......osv.
Problemet er bare at det jo kun er kode1 og ikke antal1 der bliver rettet ved en opdatering. Dette betyder at har jeg skrevet (bruger stregkoderlæser, men det er nu ligegyldigt til dette spm.) kode1 1 så bliver antal1 1, og retter jeg kode1 til 2 så bliver antal2 som ønsket 2, men antal1 er stadigvæk 1 og denne skulle naturligvis ved rettelsen være blevet til 0.

Jeg vrider min hjerne, men er gået i stå

Jeg skal lige tilføje at jeg ikke ønsker at der ved kode1 kun må stå 1 og ved kode2 kun må stå 2 da brugeren af dB ikke skal sidde og tænke om det nu er den ene eller anden kode.
Avatar billede lunddata Nybegynder
28. januar 2006 - 11:50 #7
Jubbii!
Det virker nu!
Ved koden til opdateringsknappen indsatte jeg:

If Kode1 = 0 Then
Antal1 = 0
End If

If Kode2 = 0 Then
Antal2 = 0
End If
...osv
Dette er nok en husmandsløsning, men pyt, bare det virker.
Avatar billede lunddata Nybegynder
28. januar 2006 - 14:02 #8
Nej, nej ved testning har jeg stadig problemer. HJÆLP!!
Avatar billede mugs Novice
29. januar 2006 - 06:38 #9
Hvad er problemet?
Avatar billede lunddata Nybegynder
29. januar 2006 - 09:31 #10
Problemet er at hvis jeg ændrer f.eks kode1 fra 1 til 0, ja så ændres kode1 godt nok, men antal1 ændres ikke.
Avatar billede mugs Novice
29. januar 2006 - 09:35 #11
Med den kode du har på opdateringsknappen burde Antal1 rettes. Men hvornår vil du have, at Antal1 skal rettes og ændres Antal1 ikke når du trykker på opdateringsknappen?
Avatar billede lunddata Nybegynder
29. januar 2006 - 12:41 #12
Lad os f.eks. tage
indtastet
kode1 = 1 .. så bliver antal1 automatisk 1
kode2 = 2 .. så bliver antal2 automatisk 1

retter jeg f.eks.
kode1 = 7 .. så bliver antal7 automatisk 1, men antal1 bliver ikke nulstillet, den er stadigvæk 1 som registreret ved første indtastning.
Er det mig der ikke bruger Me.Requery rigtigt?
Hvad hedder hele koden?
Avatar billede mugs Novice
29. januar 2006 - 12:44 #13
if kode1 = 7 then
antal7 = 7
antal1 = 0
end if
Avatar billede lunddata Nybegynder
29. januar 2006 - 12:49 #14
Det bliver nok en ordenlig smøre hvis jeg skal lave dette til alle de 17 koder jeg har.
tænk at x kan have 17 forskellige værdier..

if kode1 = x then
antal7 = 1
antal1 = 0
end if
Avatar billede mugs Novice
29. januar 2006 - 12:52 #15
Se i hjælpen på en Select Case struktur. Dette er typisk et eksempel på at den er mere velegnet.
Avatar billede lunddata Nybegynder
29. januar 2006 - 13:30 #16
Jeg er enig med dig i at en Select Case struktur ville være mere velegnet.

Jeg overvejer om det ville være meget lettere at strukturere dBén helt anderledes.
Jeg tænker på, at jeg måske kan trække antal bestillinger ud på en anden måde end jeg har organiseret min dB på.
Ved en indtastning:
kode1 = 1 .. betyder at antal1 er 1
kode2 = 3 .. betyder at antal3 er 1
kode3 = 9 .. betyder at antal9 er 1
Avatar billede mugs Novice
29. januar 2006 - 13:38 #17
Prøv også at se på en gruppeboks med et antal alternativ knapper på. Der kan du have op til 20 (så vidt jeg husker)forskellige muligheder.

Hvis du læggger din e-mail, kan jeg lave et eksempel senere idag.
Avatar billede lunddata Nybegynder
29. januar 2006 - 14:08 #18
Meget gerne.
pederlund@nielsen.mail.dk
Avatar billede lunddata Nybegynder
29. januar 2006 - 14:33 #19
Måske kan dit eksempel bruges.
Vi bruger dB til madbestilling
Det jeg har brug for er, at der til hvert formular er
elev
og der under hver elev er
Antal1
Antal2
.....Antal17
således at forstå at sekretæren via stregkodelæser egentlig ikke skal sidde og tænke om det er Antal1, Antal2 hun taster koden ind i.

Stregkodelæser hopper efter aktivering automatisk videre fra første felt til næste felt, dvs sekretæren via stregkodelæseren kun fortæller at hvad eleven har bestilt

Kode1 er bestilling på mad xx dato
Kode2 er bestilling på mad yy dato

... lidt svært at forklare, men i princippet virker dBén, men blot ikke hvis der bliver rettet eller ændret...
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