Supportnet / Forum / Datenbanken
SQL UPdate aus VB
Frage
Hi
habe ein Problem.
[code]
Option Compare Database
Private Sub Form_Load()
Dim antw%
Set db = CurrentDb
If Day(Date) = 1 Then GoTo Marke1
'' Hier liegt irgendwo der Fehler
ValSql = "SELECT BuDate FROM [Buchungen_Kasse] WHERE Format([BuDate],'yyyymm') < Format(Date,'yyyymm') AND Status = 0"
'ValSql = "SELECT BuDate FROM [Buchungen_Kasse] WHERE Month(BuDate) < & Month(Date) AND Status = 0"
If ValSql = Status = 0 Then GoTo Marke2
GoTo Marke3
Marke1:
DoCmd.SetWarnings False
antw = MsgBox("Möchten Sie den voherigen Monat abschliessen", vbYesNo, "Vorigen Monat sperren?")
If antw = vbYes Then DoCmd.RunSQL "Update [Buchungen_Kasse] Set Status=1 Where status = 0"
If antw = vbYes Then MsgBox "Voriger Monat wurde abgeschlossen", vbInformation, "Gesperrt!"
If antw = vbNo Then MsgBox "Sie werden erneut dazu aufgefordert zu sperren", vbInformation, " "
DoCmd.SetWarnings True
Marke2:
'' Hier LIEGT irgendwo der Fehler
'DoCmd.RunSQL ("UPDATE Buchungen_Kasse Set Status = True WHERE Format([BuDate],'yyyymm') < Format(Date,'yyyymm')")
'DoCmd.RunSQL "Update [buchungen_Kasse] Set Status = 1 Where Month(BuDate) < Month(Date) AND Status = 0"
MsgBox "ausführungstest marke 2"
Marke3: MsgBox "marke 3"
End Sub
Private Sub CB_KTO_NR_AfterUpdate()
T_SALDO = DLookup("SUM(BU_VAL)", "Buchungen_Kasse", "KTO_NR = " & CB_KTO_NR.Column(0))
End Sub
Private Sub Form_AfterUpdate()
T_SALDO = ""
End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer)
Select Case BU_VAL
Case Is < 0
If CB_BUCHID.Column(2) = "Einnahme" Then
MsgBox "Als Einnahme kann kein negativer Wert eingegeben werden!", 48, "Vorgang buchen"
Cancel = True
' oder alternativ: BU_VAL = BU_VAL * -1
End If
Case Is > 0
If CB_BUCHID.Column(2) = "Ausgabe" Then
If MsgBox("Als Ausgabe kann kein negativer Wert eingegeben werden!" & Chr(13) & Chr(13) & "Soll der Wert negativ verbucht werden?", vbYesNo + vbQuestion + vbDefaultButton2, "Vorgang buchen") = vbYes Then
BU_VAL = BU_VAL * -1
Else
Cancel = True
End If
End If
Case 0
Cancel = True
End Select
End Sub
Private Sub Form_Current()
With Me
.Caption = "Buchung hinzufügen - Kasse"
End With
DoCmd.Maximize
On Error Resume Next
If BU_VAL = 0 Then
T_SALDO = ""
Else
T_SALDO = DLookup("SUM(BU_VAL)", "Buchungen_Kasse", "KTO_NR = " & CB_KTO_NR.Column(0))
End If
End Sub
Private Sub Befehl19_Click()
On Error GoTo Err_Befehl19_Click
DoCmd.GoToRecord , , acNewRec
Exit_Befehl19_Click:
Exit Sub
Err_Befehl19_Click:
MsgBox Err.Description
Resume Exit_Befehl19_Click
End Sub
Private Sub Befehl20_Click()
On Error GoTo Err_Befehl20_Click
DoCmd.Close
Exit_Befehl20_Click:
Exit Sub
Err_Befehl20_Click:
MsgBox Err.Description
Resume Exit_Befehl20_Click
End Sub
[/code]
Wie kriege ich eshin, dass er nur wenn Datensätze vorhanden sind aus dem vorigen Monat, mit Status "No", Eine Message Box an den user ausgibt. und ihn fragt ob der vormonat gesperrt werden soll.
dabei soll er dann das Feld status in der Tabelle Buchungen_Kasse in TRUE ändern.
'' Hier sind irgendwo die Fehler
Steht immer da, wo ich denke dass da der Fehler irgendwo liegt.
Gruss udn thx
Christian

