AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Datum in Access DB schreiben
Thema durchsuchen
Ansicht
Themen-Optionen

Datum in Access DB schreiben

Ein Thema von DelphiManiac · begonnen am 8. Apr 2012 · letzter Beitrag vom 16. Apr 2012
Antwort Antwort
Seite 1 von 2  1 2      
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#1

Datum in Access DB schreiben

  Alt 8. Apr 2012, 11:58
Datenbank: Access • Version: 2010 • Zugriff über: ADO
Hallo,

ich habe eine Tabelle bei der ich mehrere Felder updaten will.
Beim ExecSQL kommt folgende Fehlermeldung beim update auf das Datumsfeld...

---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt NSVFertigung.exe ist eine Exception der Klasse EOleException mit der Meldung '[Microsoft][ODBC-Treiber für Microsoft Access]Ungültiger Genauigkeitswert' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------





Delphi-Quellcode:
procedure TFrmGeraeteDaten.btnSaveGerateDatenClick(Sender: TObject);
var
  qryUpdate: TADOQuery;
begin
  ADOQuery1 := TADOQuery.Create(Self);
  ADOQuery1.Connection := ADOConnectionGeraet;
  ADOQuery1.Active := false;
  ADOQuery1.SQL.Text := 'UPDATE fertigung set BEMERKUNG = :bemerk,' +
    'SERIALSAP= :serialsap ' + ',GEFERTIGT_AM = :gefertigt ' +
    ' where serialtube = :serialtube';
  ADOQuery1.Parameters.ParamByName('bemerk').Value := edtBemerkung.Text;
  ADOQuery1.Parameters.ParamByName('serialtube').Value := edtSerialTube.Text;
  ADOQuery1.Parameters.ParamByName('serialsap').Value := edtSerialSAP.Text;
  ADOQuery1.Parameters.ParamByName('gefertigt').Value := now;
  ADOQuery1.ExecSQL;

end;
Was ist denn hier falsch, ich versuche doch ein Datum in ein Datums/Zeitfeld zu schreiben...

Vielen Dank schon mal und Frohe Ostern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Datum in Access DB schreiben

  Alt 8. Apr 2012, 12:10
Welchen Typ hat das Datenbankfeld gefertigt?
ADOQuery1.Parameters.ParamByName('gefertigt').Value := Trunc(now);
Markus Kinzler
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#3

AW: Datum in Access DB schreiben

  Alt 8. Apr 2012, 12:16
Das Feld ist "Datum/Uhrzeit" in Access...
Mit einem Trunc kommt die gleiche Fehlermeldung
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.292 Beiträge
 
Delphi 12 Athens
 
#4

AW: Datum in Access DB schreiben

  Alt 8. Apr 2012, 12:16
Hallo...

NOW ist TDateTime. Ich weiß nicht wie Access ein Datumsfeld behandelt. Normalerweise DateTime. versuche mal statt Value AsDateTime zu benutzen.
Alternativ: http://www.delphipraxis.net/60247-datum-access-db.html

Nur so am Rande... was macht dich so sicher, daß das Datumsfeld die Meldung verursacht ?
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#5

AW: Datum in Access DB schreiben

  Alt 8. Apr 2012, 12:22
Hallo
ADOQuery1.Parameters.ParamByName('gefertigt').AsDa teTime

geht leider nicht, ist dies bei Delphi XE umgestellt worden?
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.292 Beiträge
 
Delphi 12 Athens
 
#6

AW: Datum in Access DB schreiben

  Alt 8. Apr 2012, 12:27
AsDateTime gibt es nicht ? Und AsDate ?

PS: mit jedem Buttonklick erzeugst du eine neue Query welche erst beim Beenden durch die Form freigegeben wird. Wie wäre es mit freigeben innerhalb der Procedure ?

Geändert von haentschman ( 8. Apr 2012 um 12:29 Uhr)
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#7

AW: Datum in Access DB schreiben

  Alt 8. Apr 2012, 12:30
gibt es wohl bei TParameter nicht aber bei FieldByName
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.292 Beiträge
 
Delphi 12 Athens
 
#8

AW: Datum in Access DB schreiben

  Alt 8. Apr 2012, 12:34
Mit der Fehlermeldung gesucht...
http://www.wer-weiss-was.de/theme18/article1664120.html
Sinngemäß:
Der Fehler tritt auf wenn die Daten nicht in die DB passen:
Bsp:
- ungültiges Datum
- Float Wert in Integer
- Text zu lang für Textfeld
usw.

überprüfe mal ob die Texte, welche in den Edits stehen, auch längentechnisch in die Felder passen.

Zitat:
gibt es wohl bei TParameter nicht aber bei FieldByName
ähmmm... wir reden doch über den Parameter, also ParamByName('blubb').AsDate(Time)

Geändert von haentschman ( 8. Apr 2012 um 12:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Datum in Access DB schreiben

  Alt 8. Apr 2012, 12:51
Und wieso gehst du über ODBC?
Für Access gibt es mit der JET-Engine (bzw. den nachfolger der neueren Access-Versionen) einen nativen ADO/OLE DB-Provider so das ein fehleranfälliger umweg über ODBC nicht nötig ist.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#10

AW: Datum in Access DB schreiben

  Alt 8. Apr 2012, 13:30
Hallo ich nutze :Microsoft.ACE.OLEDB.12.0

den JET Treiber bekomme ich mit den neuen Access Dateien nicht zum laufen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz