Avatar billede claus_larsen Nybegynder
29. oktober 2000 - 18:53 Der er 7 kommentarer og
1 løsning

Justering af lager

Hej Access Experter.

Jeg har et lille problem jeg håber i kan hjælpe mig med.

Jeg har en lagerdatabase, som ligner en typisk lager database.
Dvs. Antal varer på lager, Varenummer, Beskrivelse, Leverandør, osv.

Det jeg gerne ville lave, er at man har et felt der hedder \'Juster\' i en formular.
I dette felt indtaster jeg så en værdi, og alt efter om jeg trykker på + eller -,
skal denne værdi ligges til eller trækkes fra, antalet af varer på lager.

Jeg har fået det til at fungere ved hjælp af en plus og en minus knap i formularen,
(altså knapper jeg klikker på med musen), men når jeg så tager koden og bruger den
sammen med enten, keyDown, KeyUp, eller Keypress, kommer problemet.

Koden virker som sådan godt nok.
Den reagerer på tastetrykket (Plus eller minus)
Den fortsætter med at kontrollere om værdien er henholdsvis større eller mindre end 0.
Den juster antal feltet, bare ikke korrekt.

Når jeg åbner min formular, er mit juster felt automatisk sat til nul. Jeg kan sagtens udføre
mit tastetryk, og dette giver ingen fejl. FØRSTE GANG!
Anden gang jeg taster f.eks. plus, får jeg fejl 13, altså, typerne passer ikke sammen.
Hvis jeg indtaster værdien 5 i feltet, går til designvisning, åbner formularen igen, og
taster plus, ligger den 5 til. Som den skal. FØRSTE GANG!
Herefter fås fejl 13 igen!

Det er alt sammen lavet i Access 97...

45 point, til hurtigste og bedste svar....


Claus Larsen
Avatar billede driis Nybegynder
29. oktober 2000 - 23:17 #1
Prøv at smide din kode her. Det lyder som om dine variabler, som du prøver at summere, ikke er af samme type.
Avatar billede tvl Nybegynder
30. oktober 2000 - 16:07 #2
Private Sub Juster_Keydown (Keycode As Integer, Shift As Integer)
  If Keycode = vbKeyAdd Then
    If Juster > 0 Then
      Antal = Antal + Juster
      Juster = \"\"
  End If
  End If
End Sub

Og tilsvarende for minus tasten (vbKeySubtract)...

Håber der hjælper...
 
Avatar billede tvl Nybegynder
30. oktober 2000 - 16:15 #3
Ovenstående kode er den kode der bliver brugt i databasen, som volder os pronlemer.

Koden er lagt ud fra min fars \'konto\' på Eksperten....

Desuden kan det nævnes at Juster er et ubundet felt, og Antal er et bundet objekt.
Avatar billede driis Nybegynder
30. oktober 2000 - 17:14 #4
Prøv at bruge:

Antal = Str(Val(Antal)+Val(Juster))
Avatar billede claus_larsen Nybegynder
30. oktober 2000 - 18:55 #5
For at specificere problemet lidt...

Jeg har ved hjælp af to kommandoknapper, en plus, en minus, og nedenstående kode,
fået det ønskede resultat.

Private Sub Plus_click()
  If Juster > 0 Then
    Antal = Antal + Juster   
  End If
End Sub

Problemet kommer, når jeg bruger koden sammen med KeyDown (vbKeyAdd/vbKeySubtract)

Det driis skrev ovenfor løser godt nok problemet med fejl 13, men koden virker stadig ikke.

Hvis feltet \'juster\' ikke har en værdi når formularen åbnes, sker der intet (værdien er NULL)
Hvis feltet HAR en værdi, f.eks. 5, når formularen åbnes, vil ovenstående, ligge 5 til, hver
gang der tastes +, uafhængigt af hvad feltet juster ændres til.

Dvs.Lige meget hvad \'Juster\' ændres til i feltet, vil koden bruge den værdi Juster har når formularen åbnes.

Avatar billede driis Nybegynder
30. oktober 2000 - 22:05 #6
Hmmm... Dén kan jeg ikke lige gennemskue herfra. Hvis databasen ikke er hemmelig, kan du prøve at sende den til mig, så skal jeg prøve at se, om jeg kan se hvad der er galt.

driis@mobilixnet.dk
Avatar billede claus_larsen Nybegynder
31. oktober 2000 - 13:51 #7
Jeg sender dig databasen her senere i dag eller i morgen Driis, men er der ikke nogen der kan smide et lille  stykke kode ud.

jeg har et felt som skal lægges til en værdi for en given post ved tastetryk på plus (eller enter)!

Jeg vil gerne, hvis i kan give mig et eksempel på hvordan i ville gøre med f.eks. enter!
Avatar billede claus_larsen Nybegynder
08. november 2000 - 11:17 #8
Hmm... Ingen hjælp at finde
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