Thema Datum  Von Nutzer Rating
Antwort
Rot Access -VBA Problem! Wichtig!
10.06.2015 16:09:35 Silas
Solved
10.06.2015 16:11:50 Silas
NotSolved

Ansicht des Beitrags:
Von:
Silas
Datum:
10.06.2015 16:09:35
Views:
1158
Rating: Antwort:
 Nein
Thema:
Access -VBA Problem! Wichtig!

Hallo,

ich komme bei unserer Datenbank nicht weiter...

Wir müssen eine Datenbank für einen Wildpark erstellen.

Dabei müssen wir etwas programmieren (eigentlich als Standartmodul) womit man einen Futterbestand vom Lager erhöhen bzw. verringern kann indem man auf den entsprechenden Button klickt. Dann erfolgt eine Abfrage nach der Menge, die entnommen werden soll bzw. dazu addiert werden soll.

Davor soll der Benutzer noch die Futterart im Formular ausgewählt haben.

Der Bestand soll dann in der Tabelle wie auch im Formular, aktualisiert werden.

Wir haben kaum Übung, vielleicht kann sich jemand mal den Code anschauen...

Folgende Punkte bekommen wir nicht hin:

1. In die SQL Abfrage bei WHERE soll der Bestand vom ausgewählten Futter ausgesucht werden. (Hier im Code habe ich für Testzwecke "=1" geschieben)

2. Der neue Bestand soll in der Tabelle aktualisiert werden.

3. Bei der Verringerung muss noch geprüft werden, ob überhaupt genug Futter im Bestand ist

(Hier der Code vom Entnahme-Button. Manche Sachen habe ich auskommentiert, es sind teilweise Ausdrücke die wir so in einem Beispielprogramm gesehen haben, aber nichts damit anfangen können)

Vielen vielen Dank für eure Hilfe!!!!!

 

Private Sub Bestandminus_Click()

'In diese Prozedur sollte noch eine IF-Anweisung eingebaut werden, falls der Benutzer eine Bestandsminderung eingibt, die nicht möglich ist, da zu wenig Bestand vorhanden ist.

Dim dbs As DAO.Database 'auf DB verweisen

Dim str_SQL As String
Dim rst As DAO.Recordset 'Ergebnisvariable
Dim int_Anzahl As Integer
Dim int_Bestand As String
Dim int_neuerBestand As Integer


On Error Resume Next
Set dbs = CurrentDb

int_Bestand = InputBox("Bestandminderung um:")              'Hier kann der Benutzer eingeben, um wie viel sich der Bestand verringern soll

int_Anzahl = 0
str_SQL = vbNullString
Set rst = Nothing

str_SQL = "Select [wird gelagert].[Futterbestand] "
str_SQL = str_SQL & "From [wird gelagert] "                 'eigentlich sollte hier auch noch die Tabelle "Futter" ausgewählt werden, weil nur dort die Futterart drin steht
str_SQL = str_SQL & "Where [wird gelagert].[FutterID] = 1 " 'Futter mit ID 1 soll erhöht werden, Ziel ist es das Futter auswählen zu können, welches erhöht werden soll. Das klappt aber nicht... (Die Textbox heißt Auswahl_Futterart)

Set rst = dbs.OpenRecordset(str_SQL) 'Startknopf

int_neuerBestand = rst.Fields(0) - int_Bestand              'Hier wird der eingegebene Bestand vom alten Bestand subtrahiert (das funktioniert auch)

MsgBox ("Der neue Bestand beträgt: " & int_neuerBestand)    'Der neue Bestand wird ausgegeben (funktioniert auch)

str_SQL = "UPDATE [wird gelagert] "                         'Hier habe ich versucht, den neuen Futterbestand in die Tabelle einzufügen (aktualisieren), das klappt so aber nicht
str_SQL = str_SQL & "SET [wird gelagert].[Futterbestand] = int_neuerBestand "
str_SQL = str_SQL & "WHERE [wird gelagert].[FutterID] = 1 " 'Auch hier sollte wie oben, die ausgwählte Futterart ausgewählt werden
dbs.Execute str_SQL


'rst.MoveFirst                                              'das auskommentierte hatten wir so in einer Übung stehen, ich weiß aber nicht was das bringen soll...
'rst.MoveLast
'int_Anzahl = rst.RecordCount
'rst.MoveFirst

'While Not rst.EOF 'solange noch nicht auf dem letzten Datensatz --> Schleife

    'int_neuerBestand = rst.Fields("Futterbestand")

    'rst.MoveNext
    
'Wend

End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Access -VBA Problem! Wichtig!
10.06.2015 16:09:35 Silas
Solved
10.06.2015 16:11:50 Silas
NotSolved