Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Löschen von Datensätzen und speichern in Tabelle
zurück: Daten in Listenfeld filtern weiter: Kombifelder/Textfeld Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Odsch
Access-Spieler


Verfasst am:
07. Jul 2004, 08:44
Rufname:
Wohnort: Klingenthal

Löschen von Datensätzen und speichern in Tabelle - Löschen von Datensätzen und speichern in Tabelle

Nach oben
       

Hi,

ich hab folgendes Problem. über ein Listenfeld, welches seine Daten von einer Union-Abfrage bezieht, wähle ich das inventar aus.
Es wird mir automatisch die Bezeichnung angezeigt und ich trage manuell Anschaffungswert, Restbuchwert und Begründung ein.
klicke ich nun auf die Schaltfläche verschrotten sollen das inventar gelöscht werden und die Daten in eine Historie Tabelle übertragen werden.

Zurzeit ist die Schaltfläche "verschrotten" mit folgendem Code hinterlegt
Code:
Private Sub Befehl26_Click()
On Error GoTo Error
    Dim rsZ As DAO.Recordset
    Dim rsQ As DAO.Recordset

    Set rsZ = CurrentDb.OpenRecordset("Tab_Historie", dbOpenDynaset)
    Set rsQ = Me.RecordsetClone
    If MsgBox("Wirklich verschrotten (und nur noch in der Historie " & _
              "belassen)?", vbYesNo + vbQuestion, _
              "Verschrottung") = vbYes Then
        With rsZ
            .AddNew
            .Fields("Inventarnummer") = rsQ!Inventarnummer
            .Fields("Restbuchwert") = rsQ!Restbuchwert.Value
            .Fields("Anschaffungswert") = rsQ!Anschaffungswert
            .Fields("Begründung") = rsQ!Begründung
            .Update
        End With
        DoCmd.SetWarnings False
        DoCmd.RunCommand acCmdDeleteRecord
        DoCmd.SetWarnings True
        rsZ.Close
        rsQ.Close
        Set rsZ = Nothing
        Set rsQ = Nothing
        Set db = Nothing
      Else
        GoTo Exit_Befehl26_Click
    End If
    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

Exit_Befehl26_Click:
    Exit Sub
Error:
    MsgBox Err.Description
    Resume Exit_Befehl26_Click
End Sub
Wenn ich jedoch auf den Button klicke bekomme ich die meldung "kein aktueller Datensatz"
_________________
Sämtliche Grammatik- oder Rechtschreibfehler sind geistiges Eigentum des Verfassers und urheberrechtlich geschützt.
Willi Wipp
Moderator


Verfasst am:
07. Jul 2004, 11:51
Rufname:
Wohnort: Raum Wiesbaden


Re: Löschen von Datensätzen und speichern in Tabelle - Re: Löschen von Datensätzen und speichern in Tabelle

Nach oben
       

Hi Odsch,

Du versuchst den DS zweimal zu loeschen!
Code:
      DoCmd.RunCommand acCmdDeleteRecord
'...
    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Das mag Access nicht Wink (Ist wohl auch besser so oder?)
Hast Du denn eine eindeutige ID fuer den DS? Dann kann man das auch einfacher machen
Code:
Private Sub Befehl26_Click()
On Error GoTo Error
    Dim sSQL    As String
   
    If MsgBox("Wirklich verschrotten (und nur noch in der Historie belassen)?", _
              vbYesNo + vbQuestion, "Verschrottung") = vbYes Then
        sSQL$ = "INSERT INTO Tab_Historie " & _
                "SELECT * " & _
                "FROM   DeineTabelle " & _
                "WHERE  DeineID = " & Me!DeineID
        CurrentDb.Execute sSQL$
        DoCmd.SetWarnings False
        DoCmd.RunCommand acCmdDeleteRecord
        DoCmd.SetWarnings True
    End If

Exit_Befehl26_Click:
    Exit Sub

Error:
    MsgBox Err.Description
    Resume Exit_Befehl26_Click
End Sub

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Odsch
Access-Spieler


Verfasst am:
07. Jul 2004, 12:26
Rufname:
Wohnort: Klingenthal

AW: Löschen von Datensätzen und speichern in Tabelle - AW: Löschen von Datensätzen und speichern in Tabelle

Nach oben
       

Hallo Willi,

du hast recht, hab jetzt die erste Löschanweisung rausgenommen, jetzt bringt er mir aber die Fehlermeldung "Datensatz gelöscht".
Das soll wohl heißen das der Datensatz bereits gelöscht ist, wenn ich aber in der Tabelle nachschaue steht er noch drin, und das ganze wird auch nicht in die Historie übertragen.

Eine eindeutige Id hab ich leider nicht da die anderen Felder manuell eingetragen werden und lediglich die inventarnummer auf einer Union Abfrage basiert

_________________
Sämtliche Grammatik- oder Rechtschreibfehler sind geistiges Eigentum des Verfassers und urheberrechtlich geschützt.
Willi Wipp
Moderator


Verfasst am:
07. Jul 2004, 16:56
Rufname:
Wohnort: Raum Wiesbaden

Re: Re: Löschen von DS und speichern in Tabelle (II) - Re: Re: Löschen von DS und speichern in Tabelle (II)

Nach oben
       

Hi Odsch,

aus einer UNION-Abfrage kann man nicht automatisch loeschen!
(Das hattest Du aber auch nicht geschrieben. :Mein Fehler Embarassed )
Poste den SQL-Code der Abfrage auf der Dein Formular basiert.
Ich gehe davon aus das nur das Feld Inventarnummer gebunden ist.
Oder ist etwa das ganze Formular ungebunden und Du stellst nur die Inventarnummer
z.B. in einem Kombinationsfeld zur Auswahl zur Verfuegung?
Ist denn die Inventarnummer eine eindeutige ID?
Aus welcher Tabelle willst Du sie denn dann loeschen?
Wir brauchen schon etwas mehr Input ... Wink

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)


Zuletzt bearbeitet von Willi Wipp am 08. Jul 2004, 08:48, insgesamt einmal bearbeitet
Odsch
Access-Spieler


Verfasst am:
08. Jul 2004, 08:02
Rufname:
Wohnort: Klingenthal

AW: Löschen von Datensätzen und speichern in Tabelle - AW: Löschen von Datensätzen und speichern in Tabelle

Nach oben
       

Doch, das mit der UNION-Abfrage hatte ich geschrieben, ist aber nicht so wild. Der Code sieht folgendermaßen aus:
Code:
SELECT Inventarnummer, bezeichnung
FROM   tab_peripherie
UNION
SELECT inventarnummer, seriennummer
FROM   tab_rechner
UNION
SELECT inventarnummer, name 
FROM   tab_software
UNION
SELECT seriennummerf, bezeichnung 
FROM   tab_festplatten;

Die Inventarnummer/Seriennummer ist eindeutig und ich stelle sie in einem Kombinationsfeld zur Verfügung.
Alle anderen Daten werden über das formular eingegeben und in einer Dummy-Tabelle gespeichert von wo sie dann beim Löschen in die Historie übertragen werden.

Die Daten sollen dann aus der Haupttabelle gelöscht werden, wo eben diese Inventarnummer/Seriennummer vorkommt, bzw wenn es keine inventarnummer/Seriennummer gibt, wo die jeweilige Bezeichnung vorkommt.

Das ganze hat schonmal funktioniert, klappt aber mal und dann mal wieder nicht.

_________________
Sämtliche Grammatik- oder Rechtschreibfehler sind geistiges Eigentum des Verfassers und urheberrechtlich geschützt.
Willi Wipp
Moderator


Verfasst am:
08. Jul 2004, 15:15
Rufname:
Wohnort: Raum Wiesbaden

Re: Löschen von DS und speichern in Tabelle (III) - Re: Löschen von DS und speichern in Tabelle (III)

Nach oben
       

Hi Odsch,

erst einmal sorry und Asche auf mein Haupt, das ich das mit der UNION ueberlesen habe Embarassed
Bevor wir weiter machen, moechte ich mit noch einmal Klarheit uber die Sachlage verschaffen.
Die Dummy-Tabelle hat nur den Sinn die Daten fuer das Loeschen vorzuhalten?
Oder benoetigst DU sie noch fuer etwas anderes? Wenn nicht, bist Du berait darauf zu verzichten?
Gehe ich recht in der Annahme, dass die Informtion aus der Haupttabelle geloschet werden soll?
Also z.B. bei Rechner 123 aus der Tabelle tab_rechner.
Wenn das so ist, muss Access wissen aus welcher Tabelle die Daten geloescht werden sollen.
=> der Tabellenname sollte mit in das Kombinationsfeld (auch unsichtbar moeglich).
(Es gibt zwar auch noch andere Moeglichkeiten die Tabelle wieder rauszukriegen, ist aber viel aufwendiger)
=> Die UNION-Abfrage sollte dann z.B. so aussehen
Code:
SELECT Inventarnummer, bezeichnung, "tab_peripherie" As tabName
FROM   tab_peripherie
UNION
SELECT inventarnummer, seriennummer, "tab_rechner" As tabName
FROM   tab_rechner
UNION
SELECT inventarnummer, name, "tab_software" As tabName
FROM   tab_software
UNION
SELECT seriennummerf, bezeichnung, "tab_festplatten" As tabName
FROM   tab_festplatten;

Bei dem Kombinationsfeld musst Du jetzt die Eigenschaft Spaltenanzahl (ColumnCount) auf 3 setzen.
Die Eigenschaft Spaltenbreiten (ColumnWidths) kannst Du z.B. so setzen 5 cm; 5cm; 0 cm
=> Spalte mit den Tabellennamen ist unsichtbar.
Wenn Du das hast sag bescheid und beantworte meine Fragen, dann machen wir weiter.

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)


Zuletzt bearbeitet von Willi Wipp am 08. Jul 2004, 15:47, insgesamt einmal bearbeitet
Odsch
Access-Spieler


Verfasst am:
08. Jul 2004, 15:45
Rufname:
Wohnort: Klingenthal


AW: Löschen von Datensätzen und speichern in Tabelle - AW: Löschen von Datensätzen und speichern in Tabelle

Nach oben
       

Hallo Willi,

vielen Dank für deine große Mühe.

Da ich jetzt 3 Wochen urlaub habe, hab ich das Problem an einen Kollegen weitergegeben.

Hab ihn auch auf das Forum und deine Antworten hingewiesen, d.h. es kann sein das er dich dann an meiner Stelle meldet.

Gruß

Odsch

_________________
Sämtliche Grammatik- oder Rechtschreibfehler sind geistiges Eigentum des Verfassers und urheberrechtlich geschützt.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Relativ komplexes PRoblem mit erstellen von Datensätzen 5 feri 808 02. Jun 2004, 14:21
stpimi Relativ komplexes PRoblem mit erstellen von Datensätzen
Keine neuen Beiträge Access Tabellen & Abfragen: tabelle exportieren 1 Gast 1501 01. Jun 2004, 12:25
Willi Wipp tabelle exportieren
Keine neuen Beiträge Access Tabellen & Abfragen: Duplikate einer Tabelle löschen?! 3 Esel 2108 28. Mai 2004, 08:53
lothi Duplikate einer Tabelle löschen?!
Keine neuen Beiträge Access Tabellen & Abfragen: Spaltennamen einer Tabelle ermitteln 1 Alexander Neron 899 27. Mai 2004, 13:47
lothi Spaltennamen einer Tabelle ermitteln
Keine neuen Beiträge Access Tabellen & Abfragen: kein Wert in der Tabelle, dann immer Null (0)?? 3 Michel_9 1005 26. Mai 2004, 14:28
Michel_9 kein Wert in der Tabelle, dann immer Null (0)??
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle formatiert in txt-Datei exportieren 1 robby 1115 12. Apr 2004, 23:10
Helge Tabelle formatiert in txt-Datei exportieren
Keine neuen Beiträge Access Tabellen & Abfragen: abfrage mit maximal anzahl von datensätzen 2 ProLogistik 503 31. März 2004, 10:32
ProLogistik abfrage mit maximal anzahl von datensätzen
Keine neuen Beiträge Access Tabellen & Abfragen: Zeilenumbruch nach Einfügen Word Tabelle 2 topflop 1698 30. März 2004, 16:06
Gast Zeilenumbruch nach Einfügen Word Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: neue Tabellen erstellen aus vorhandener Tabelle 6 moni 2010 29. März 2004, 15:39
moni neue Tabellen erstellen aus vorhandener Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: Duplikate löschen 1 kiter 778 29. März 2004, 15:22
riker Duplikate löschen
Keine neuen Beiträge Access Tabellen & Abfragen: Wert einer Abfrage in Tabelle kopieren? 1 BerlinerWolf 2009 21. März 2004, 12:43
Maya Wert einer Abfrage in Tabelle kopieren?
Keine neuen Beiträge Access Tabellen & Abfragen: Speichern beim Schließen nur nach Bestätigung 7 Gast 667 11. März 2004, 16:56
Willi Wipp Speichern beim Schließen nur nach Bestätigung
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML Forum