Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

CreationTS im Access erstellen

Frage Microsoft Microsoft Office

Mitglied: xdcBlade

xdcBlade (Level 1) - Jetzt verbinden

19.08.2011 um 09:53 Uhr, 2548 Aufrufe, 10 Kommentare

Morgen Leute

Ich will ein Erstellungsdatum und ein Änderungsdatum in meiner Datenbank hinzufügen.
Soweit hät ich es im Code so eingetragen:

01.
Private Sub Form_AfterUpdate() 
02.
    On Error GoTo err_AfterUpdate 
03.
     DoCmd.SetWarnings False 
04.
     If Me.NewRecord = True Then 
05.
          DoCmd.RunSQL "UPDATE tbl_Picture SET createTS = '" & Now() & "', createUser = '" & CurUSR & "' WHERE ID = " & Me.txtID.Value 
06.
     Else 
07.
          DoCmd.RunSQL "UPDATE tbl_Picture SET changeTS = '" & Now() & "', changeUser = '" & CurUSR & "' WHERE ID = " & Me.txtID.Value 
08.
     DoCmd.SetWarnings True 
09.
     End If 
10.
           
11.
err_AfterUpdate: 
12.
     Exit Sub 
13.
      
14.
End Sub
Jetzt mein Problem:
das Änderungsdatum tragt er in der Tabelle problemlos ein, allerdings das Erstellungsdatum nicht.

Könnt ihr mir helfen?


Mit freundlichen Grüßen Fabi
Mitglied: vossi31
19.08.2011 um 10:31 Uhr
Moin Fabi,

pack die Abfrage auf Me.NewRecord stattdessen in die Sub Form_Dirty

Henning
Bitte warten ..
Mitglied: xdcBlade
19.08.2011 um 11:41 Uhr
Danke für die Antwort, wenn ich die Abfrage in Sub Form_Dirty reinschmeiss kommt folgender Fehler:

Sie habe als Einstellung der Ereigniseigenschaft den Asudruck bei Laden eingegeben. Dieser Ausdruck hat einen Fehler verursacht: Deklaration der Prozedur entspricht nicht der BEschreibung eines Ereignisses oder einer Prozedur mit demselben Namen.

Kann es sein das ein Datenformat nicht übereinstimmt?

Mit freundlichen Grüßen Fabi
Bitte warten ..
Mitglied: vossi31
19.08.2011 um 12:03 Uhr
Die Declaration der Funktion heißt vollständig:

Private Sub Form_Dirty(Cancel As Integer)

oder Doppelklick auf "Bei Änderung" in den Formulareigenschaften

Henning
Bitte warten ..
Mitglied: xdcBlade
19.08.2011 um 13:07 Uhr
Die Declaration passt jetzt, allerdings aktualisiert er meine Datenbank immer noch nicht.

Mit freundlichen Grüßen Fabi
Bitte warten ..
Mitglied: vossi31
19.08.2011 um 14:12 Uhr
Hast Du getestet ob das Programm bis zu Deinem DoCmd.RunSQL kommt?

Wenn in der funktionierenden Routine das Änderungsdatum geschrieben wird muss Dein SQL-String ja korrekt sein. Wenn dann die DB-Felder für Create auch sinngemäß genauso aussehen wie für Änderungen müsste das für die Neuanlage ja übertragbar sein.

ZumTesten vielleicht auch mal "DoCmd.SetWarnings False " weglassen oder auf True setzen.

Und/oder nochmal die Routine posten.

Henning
Bitte warten ..
Mitglied: xdcBlade
19.08.2011 um 15:25 Uhr
wenn ich den String ändere
01.
          DoCmd.RunSQL "UPDATE tbl_Picture SET createTS = '" & Now() & "'"
greift er auf die Datenbank zu und ändert etwas, allerdings ändert er alle Datensätze.

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: vossi31
19.08.2011 um 15:45 Uhr
Dann kannst Du jetzt ja noch die WHERE - Clause ergänzen, die Du am Anfang schon hattest.

Aber mal ehrlich, eigentlich weißt Du nicht, was Du da tust, oder? Ich hoffe Du arbeitest mit einer Kopie und nicht an Produktivdaten.

Henning
Bitte warten ..
Mitglied: xdcBlade
19.08.2011 um 16:17 Uhr
ich stückel mir alles grade zusammen...selber programmiere ich normal nicht...aber is zum glück nicht mein eigentliches gebiet ;)

das mit der where - clause war mir scho klar nur da bin ich wieder beim anfang...er fügt wieder nichts ein...


Ich werds einfach bei der ChangeTS belassen.

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: vossi31
19.08.2011 um 17:21 Uhr
Du kannst jetzt natürlich aufgeben, aber scheinbar wärst Du ja fast am Ziel.

Wenn er mit der WHERE-Clause nichts macht, aber ohne WHERE alle Sätze updated muss die WHERE-Clause der Fehler sein. Dann muss eigentlich "Me.txtID.Value" anders sein als Du es erwartest, wahrscheinlich noch ohne Wert.
Aber wenn ich mir das ganze so überlege, gehts wahrscheinlich gar nicht so, weil der Datensatz zu dem Zeitpunkt noch gar nicht in der Datenbank steht und damit das Update ins Leere läuft.
Mach es doch einfach ohne SQL, also

Me.createTS = now
Me.createUser = CurrentUser

Wobei die beiden Felder (unsichtbar) in dem Formular stehen müssten

Henning
Bitte warten ..
Mitglied: xdcBlade
22.08.2011 um 12:25 Uhr
perfekt, so funktionierts...


Danke vielmals!

Mit freundlichen Grüßen Fabi
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Microsoft Office
Access Problem beim Bericht erstellen (1)

Frage von terpeberi zum Thema Microsoft Office ...

Netzwerkgrundlagen
IPsec - .conf und .secret erstellen aus Gruppe und User (7)

Frage von MaxMLe zum Thema Netzwerkgrundlagen ...

Batch & Shell
CMD cURL Access Token parsen (2)

Frage von maddig zum Thema Batch & Shell ...

LAN, WAN, Wireless
Access Point: Ubiquiti UAP AC PRO Einschätzung Reichweite (4)

Frage von TimMayer zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (18)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...