Access VBA 2003 - Datensätze duplizieren, Zustände ändern, Zustände filtern

MehmetEmir

Grünschnabel
Hallo Freunde,

ich bin neu hier und brauche hilfe.

Ich habe eine DB Lagerverwaltung. Ich habe mehrere Formulare erstellt und gelöscht ein paar stehen noch in meinem Datenbank.

Was ich machen will:
- per Knopfdruck Datensatz duplizieren/speichern. Ich will das so viele Datensätze in der Tabelle Lager eingefügt wird wie der Eingabe xy Zahl in der Artikelmenge.

- per Knopfdruck soll sich der Zustand z.B. von Bestellt auf geliefert ändern. Leider ändern sich alle Zustände, es kann ja mal passieren dass nicht Artikel geliefert werden.

-Kombinationsfeld Zustandsbezeichnung, da versuche ich Zustände aufzurufen und per Auswahl soll er mir die Zustände mit der Artikel anzeigen

ich hoffe dass ich mich ausdrücken konnte.

Herzlichen Dank
 

Anhänge

Also ich habe mir die Datei mal angeschaut, aber ich werde nicht so ganz schlau was du machen willst.

Zeig mal den Code wie du es bis jetzt versucht hast. Vielleicht wird man daraus dann schlauer oder findet einen Fehler.
 
Erstmal vielen vielen Dank für deine Antwort/Nachricht

Ich habe meine Codes kopiert und eine neues kleines Datenbank erstellt mit der Probleme die ich habe

Folgendes:
- auf den Formular habe ich einen Textfeld Artikelmenge. Nachdem ich xy Zahl eingegeben und Knopf "Datensatz duplizieren" geklickt habe soll in der tblLager xy Zeilen eingefügt werden, weil ich nachher für jeden Artikel nach der Qualitästkontrolle eine Seriennummer geben muss. Also für jeden Artikel brauche ich einen Datensatz

- Ich will per Knopf "Zustand speichern" Artikelzustände ändern. Ich habe die SQL Anweisung definiert aber es funktioniert nicht, außerdem möchte ich nicht dass alle Datensätze in der Tabelle sich automatisch z.B. von bestellt auf geliefert ändert, weil nicht alle Artikel die bestellt sind werden gleichzeitig geliefert.

- über das KombinationsfeldZustand will ich Datensätze nach Zustand filtern. z.B. zeige mir alle Artikel in der Artikelliste "Listenfeld" die den Zustand bestellt besitzen



Option Compare Database
Option Explicit

Private Sub Artikelliste_AfterUpdate()
Dim rs As Recordset

Set rs = Me.RecordsetClone
'rs.FindFirst "[Art_Bezeichnung] = " & Str(Me![Artikelliste])
rs.FindFirst "[ArtikelID] = " & Str(Me![Artikelliste])
Me.Bookmark = rs.Bookmark
End Sub

Sub button_zustand_speichernaendern_Click()


Dim strSQL As String
Dim rst As ADODB.Recordset

Set rst = CurrentDb.Connection.Execute("SELECT * FROM tblLager")
Do Until rst.EOF
Debug.Print rst.Fields("ZustandID")
rst.MoveNext
Loop



strSQL = "UPDATE tblLager SET tblLager.ZustandID = 'geliefert' WHERE tblLager.ZustandID = 'bestellt'"

DoCmd.SetWarnings False

'DoCmd.RunSQL "UPDATE tblLager SET tblLager.ZustandID = 'geliefert' WHERE tblLager.ZustandID = 'bestellt'"
'DoCmd.RunSQL "Update tblLager SET tblLager.Artikelmenge = 0"

DoCmd.RunSQL strSQL

DoCmd.SetWarnings True



End Sub
Private Sub button_artikel_duplizieren_Click()
'Dim intz As Integer
'Dim anzahl As Integer
'
'anzahl = Artikelmenge
'
'
' For intz = 1 To anzahl
' Next intz
'


On Error GoTo Err_button_duplizieren_Click
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim ds As DAO.Recordset
Dim fld As DAO.Field
Dim intz As Integer

' Verweis auf die aktuelle Db setzen
Set db = CurrentDb
'Recordset auf die Tabelle Lager
Set rst = db.OpenRecordset("tblLager")

'Inhalt des aktuellen Datensatzes wird ausgelesen
Set ds = db.OpenRecordset("SELECT * FROM tblLager ")
'Neuen Datensatz einfügen
rst.AddNew

rst.Update



For intz = 1 To 100

Next intz




DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append

Exit_button_duplizieren_Click:
Exit Sub

Err_button_duplizieren_Click:
MsgBox Err.Description
Resume Exit_button_duplizieren_Click


End Sub



Private Sub KombinationsfeldZustand_AfterUpdate()

Me.Filter = "Zustaende='" & Me!KombinationsfeldZustand & "'"
Me.FilterOn = True


End Sub


Danke
 

Anhänge

Neue Beiträge

Zurück