Access VBA
#1
Skrivet 11 jun 2012, 09:10
Kass på VBA.
Jag har ett formulär med ett fält med namnet "Pris".
Matar man in priser som är mindre än 10 ska det komma fram ett ruta som meddelar detta och ställer frågan om jag ändå vill bekräfta det jag matat in.
Matar man in priser som är större än 10000 ska det komma fram samma sak.
Hur gör man detta i VBA?
Skrivet 11 jun 2012, 09:10
Jag har ett formulär med ett fält med namnet "Pris".
Matar man in priser som är mindre än 10 ska det komma fram ett ruta som meddelar detta och ställer frågan om jag ändå vill bekräfta det jag matat in.
Matar man in priser som är större än 10000 ska det komma fram samma sak.
Hur gör man detta i VBA?
#2
Skrivet 13 jun 2012, 14:53
Följande kod kan användas:
Function mYes(fraga$) As Boolean
mYes = MsgBox(fraga, vbYesNo + vbDefaultButton2, "Ok/Cancel i Access") = vbYes
End Function
Private Sub Pris_BeforeUpdate(Cancel As Integer)
If Pris < 10 Then
Cancel = Not mYes("Priset är mindre än 10, Spara ändå?")
ElseIf Pris > 10000 Then
Cancel = Not mYes("Priset är större än 10000, Spara ändå?")
End If
End Sub
Exempel finns på http://accesskonsult...a-inmatat-pris/
Accesskonsult
Micke Falk
Skrivet 13 jun 2012, 14:53
Function mYes(fraga$) As Boolean
mYes = MsgBox(fraga, vbYesNo + vbDefaultButton2, "Ok/Cancel i Access") = vbYes
End Function
Private Sub Pris_BeforeUpdate(Cancel As Integer)
If Pris < 10 Then
Cancel = Not mYes("Priset är mindre än 10, Spara ändå?")
ElseIf Pris > 10000 Then
Cancel = Not mYes("Priset är större än 10000, Spara ändå?")
End If
End SubExempel finns på http://accesskonsult...a-inmatat-pris/
Micke Falk
#3
Skrivet 18 jun 2012, 09:11
MickeF, den 13 jun 2012, 14:53, sa:
Följande kod kan användas:
Function mYes(fraga$) As Boolean
mYes = MsgBox(fraga, vbYesNo + vbDefaultButton2, "Ok/Cancel i Access") = vbYes
End Function
Private Sub Pris_BeforeUpdate(Cancel As Integer)
If Pris < 10 Then
Cancel = Not mYes("Priset är mindre än 10, Spara ändå?")
ElseIf Pris > 10000 Then
Cancel = Not mYes("Priset är större än 10000, Spara ändå?")
End If
End Sub
Exempel finns på http://accesskonsult...a-inmatat-pris/
Går inge bra idag. Jag lägger in all kod vid "BeforeUpdate" och jag får fram följande ruta. Se bifogad bild.
Bifogade filer
-
ruta.gif (22,26Kb)
Antal nedladdningar: 0
Skrivet 18 jun 2012, 09:11
MickeF, den 13 jun 2012, 14:53, sa:
Function mYes(fraga$) As Boolean
mYes = MsgBox(fraga, vbYesNo + vbDefaultButton2, "Ok/Cancel i Access") = vbYes
End Function
Private Sub Pris_BeforeUpdate(Cancel As Integer)
If Pris < 10 Then
Cancel = Not mYes("Priset är mindre än 10, Spara ändå?")
ElseIf Pris > 10000 Then
Cancel = Not mYes("Priset är större än 10000, Spara ändå?")
End If
End SubExempel finns på http://accesskonsult...a-inmatat-pris/
Går inge bra idag. Jag lägger in all kod vid "BeforeUpdate" och jag får fram följande ruta. Se bifogad bild.
Bifogade filer
-
ruta.gif (22,26Kb)
Antal nedladdningar: 0
#4
Skrivet 18 jun 2012, 18:24
Troligen så har du nu två funktioner med namnet Pris_BeforeUpdate
Accesskonsult
Micke Falk
Skrivet 18 jun 2012, 18:24
Micke Falk
#5
Skrivet 21 jun 2012, 11:05
MickeF, den 13 jun 2012, 14:53, sa:
Följande kod kan användas:
Function mYes(fraga$) As Boolean
mYes = MsgBox(fraga, vbYesNo + vbDefaultButton2, "Ok/Cancel i Access") = vbYes
End Function
Private Sub Pris_BeforeUpdate(Cancel As Integer)
If Pris < 10 Then
Cancel = Not mYes("Priset är mindre än 10, Spara ändå?")
ElseIf Pris > 10000 Then
Cancel = Not mYes("Priset är större än 10000, Spara ändå?")
End If
End Sub
Exempel finns på http://accesskonsult...a-inmatat-pris/
Japp funkar nu. Men om jag väljer att inte spara priset så vill man ju helst som användare slippa trycka Esc för att återställa fältet.
Skrivet 21 jun 2012, 11:05
MickeF, den 13 jun 2012, 14:53, sa:
Function mYes(fraga$) As Boolean
mYes = MsgBox(fraga, vbYesNo + vbDefaultButton2, "Ok/Cancel i Access") = vbYes
End Function
Private Sub Pris_BeforeUpdate(Cancel As Integer)
If Pris < 10 Then
Cancel = Not mYes("Priset är mindre än 10, Spara ändå?")
ElseIf Pris > 10000 Then
Cancel = Not mYes("Priset är större än 10000, Spara ändå?")
End If
End SubExempel finns på http://accesskonsult...a-inmatat-pris/
Japp funkar nu. Men om jag väljer att inte spara priset så vill man ju helst som användare slippa trycka Esc för att återställa fältet.
#6
Skrivet 22 jun 2012, 07:25
Martassen, den 21 jun 2012, 11:05, sa:
Japp funkar nu. Men om jag väljer att inte spara priset så vill man ju helst som användare slippa trycka Esc för att återställa fältet.
Då kan du använda denna kod:
Option Compare Database
Option Explicit
Dim reset%
Function mYes(fraga$) As Boolean
mYes = MsgBox(fraga, vbYesNo + vbDefaultButton2, "Ok/Cancel i Access") = vbYes
End Function
Private Sub Pris_AfterUpdate()
If reset Then Pris = Pris.OldValue
End Sub
Private Sub Pris_BeforeUpdate(Cancel As Integer)
reset = False
If Pris < 10 Then
reset = Not mYes("Priset är mindre än 10, Spara ändå?")
ElseIf Pris > 10000 Then
reset = Not mYes("Priset är större än 10000, Spara ändå?")
End If
End Sub
Se till att Händelsen Pris_AfterUpdate anropas från fältet Pris.
Accesskonsult
Micke Falk
Skrivet 22 jun 2012, 07:25
Martassen, den 21 jun 2012, 11:05, sa:
Då kan du använda denna kod:
Option Compare Database
Option Explicit
Dim reset%
Function mYes(fraga$) As Boolean
mYes = MsgBox(fraga, vbYesNo + vbDefaultButton2, "Ok/Cancel i Access") = vbYes
End Function
Private Sub Pris_AfterUpdate()
If reset Then Pris = Pris.OldValue
End Sub
Private Sub Pris_BeforeUpdate(Cancel As Integer)
reset = False
If Pris < 10 Then
reset = Not mYes("Priset är mindre än 10, Spara ändå?")
ElseIf Pris > 10000 Then
reset = Not mYes("Priset är större än 10000, Spara ändå?")
End If
End Sub
Se till att Händelsen Pris_AfterUpdate anropas från fältet Pris.
Micke Falk
#7
Skrivet 28 jun 2012, 11:42
MickeF, den 22 jun 2012, 07:25, sa:
Då kan du använda denna kod:
Option Compare Database
Option Explicit
Dim reset%
Function mYes(fraga$) As Boolean
mYes = MsgBox(fraga, vbYesNo + vbDefaultButton2, "Ok/Cancel i Access") = vbYes
End Function
Private Sub Pris_AfterUpdate()
If reset Then Pris = Pris.OldValue
End Sub
Private Sub Pris_BeforeUpdate(Cancel As Integer)
reset = False
If Pris < 10 Then
reset = Not mYes("Priset är mindre än 10, Spara ändå?")
ElseIf Pris > 10000 Then
reset = Not mYes("Priset är större än 10000, Spara ändå?")
End If
End Sub
Se till att Händelsen Pris_AfterUpdate anropas från fältet Pris.
Japp har lagt in koden. Om jag matar in ett pris och trycker Nej så går den vidare till nästa post. Hur gör jag så den inte går vidare?
Skrivet 28 jun 2012, 11:42
MickeF, den 22 jun 2012, 07:25, sa:
Option Compare Database
Option Explicit
Dim reset%
Function mYes(fraga$) As Boolean
mYes = MsgBox(fraga, vbYesNo + vbDefaultButton2, "Ok/Cancel i Access") = vbYes
End Function
Private Sub Pris_AfterUpdate()
If reset Then Pris = Pris.OldValue
End Sub
Private Sub Pris_BeforeUpdate(Cancel As Integer)
reset = False
If Pris < 10 Then
reset = Not mYes("Priset är mindre än 10, Spara ändå?")
ElseIf Pris > 10000 Then
reset = Not mYes("Priset är större än 10000, Spara ändå?")
End If
End Sub
Se till att Händelsen Pris_AfterUpdate anropas från fältet Pris.
Japp har lagt in koden. Om jag matar in ett pris och trycker Nej så går den vidare till nästa post. Hur gör jag så den inte går vidare?
#8
Skrivet 28 jun 2012, 19:38
Martassen, den 28 jun 2012, 11:42, sa:
Japp har lagt in koden. Om jag matar in ett pris och trycker Nej så går den vidare till nästa post. Hur gör jag så den inte går vidare?
Det finns lite inställningar. I meny väljer du Verktyg/Alternativ och klickar på fliken Tangentbord (enligt meny i access 2003.
Accesskonsult
Micke Falk
Skrivet 28 jun 2012, 19:38
Martassen, den 28 jun 2012, 11:42, sa:
Det finns lite inställningar. I meny väljer du Verktyg/Alternativ och klickar på fliken Tangentbord (enligt meny i access 2003.
Micke Falk
#9
Skrivet 29 jun 2012, 05:47
Skrivet 29 jun 2012, 05:47
#10
Skrivet 29 jun 2012, 09:41
Vet inte.
Accesskonsult
Micke Falk
Skrivet 29 jun 2012, 09:41
Micke Falk
#11
Skrivet 03 jul 2012, 09:35
Skrivet 03 jul 2012, 09:35
#12
Skrivet 03 jul 2012, 10:05
Martassen, den 03 jul 2012, 09:35, sa:
Vad heter det du bockar i när du kör 2003? Tänkte om jag kan hitta liknande i 2010 för det bör ju ligga under Accessalternativ.
Retur-tangenten flyttar
o Inte alls
o Till nästa fält
o Till nästa post
Bifogar bild
Bifogade filer
-
Alternativ.png (38,43Kb)
Antal nedladdningar: 0
Accesskonsult
Micke Falk
Skrivet 03 jul 2012, 10:05
Martassen, den 03 jul 2012, 09:35, sa:
Retur-tangenten flyttar
o Inte alls
o Till nästa fält
o Till nästa post
Bifogar bild
Bifogade filer
-
Alternativ.png (38,43Kb)
Antal nedladdningar: 0
Micke Falk
1 besökare läser just nu den här tråden, varav 0 medlem(mar) och 1 gäst(er)
Sök i Eforum
Senast obesvarade trådar
-
Namnge individuella säkerhetskopieringar
Forum: Windows 7 -
Hypersnabb batteriladdning!
Forum: Öppet forum! Ordet är fritt ... -
Skärmen startar inte när ja öppnar locket
Forum: Bärbara datorer -
Process Lasso Pro FREE license
Forum: Program - övriga -
Dell panka
Forum: Öppet forum! Ordet är fritt ... -
Mask On
Forum: Öppet forum! Ordet är fritt ... -
Hur får man game.cfg att fungera i CS: Global Offensive?
Forum: Datorspel -
10 gratisverktyg för säkert nät
Forum: Säkerhet - övrigt -
Varning för ”Nummerupplysningen.se”
Forum: Öppet forum! Ordet är fritt ... -
samsung galaxy note vcf fungera inte
Forum: Mobiltelefoner

Logga in
Bli medlem


Citera flera inlägg