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, 2578 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?


mfg 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?

mfg 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.

mfg 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.

mfg
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.

mfg
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!

mfg Fabi
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Access Problem beim Bericht erstellen (1)

Frage von terpeberi zum Thema Microsoft Office ...

Switche und Hubs
HP Aruba 2920 ACCESS-LIST erstellen? (8)

Frage von Henning32 zum Thema Switche und Hubs ...

PHP
PHP oder Microsoft Access (11)

Frage von SIMONJAKOB zum Thema PHP ...

Microsoft Office
gelöst Access 2007 (2)

Frage von Everest zum Thema Microsoft Office ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Windows Server
Zertifikat am DC erneuern funktioniert nicht (13)

Frage von takvorian zum Thema Windows Server ...