---
title: "Delphi Access problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/90860-delphi-access-problem"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "urban_hahne"
published: "2003-11-20T13:00:14.000Z"
updated: "2003-11-30T13:16:16.000Z"
replies: 2
views: 223
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/programmering/90860-delphi-access-problem"
---

# Delphi Access problem

## #1 — urban_hahne, 2003-11-20T13:00Z

I en accessdatabas har jag definierat ett fält "tid" av typen Datum/tid/långt tidsformat ex: 18:35:12
samt "datum" som kort datum ex: 2003-12-02
Kontroll i databasen med access visar att de är lagrade korrekt enligt exemplen.
När jag kopplar ett datafält tex dbgrid eller dbedit till fältet "tid" så visas årtalet 1899-12-30 framför tiden i fältet "tid" med ett blanktecken emellan ex. 1899-12-30 17:45:03. 
Årtalet som visas i fältet "tid" är det samma i alla fält oavsett klockslag och är något som Delphi lägger till av någon orsak. Jag använder Delphi ver 6.
Jag har provat med kort tidsformat i databasens fält "tid" men samma fel kvarstår. 
Årtalet i fältet "datum" helt visas korrekt.

Permalänk: https://www.webforum.nu/p/90860

## #2 — Hardrocker, 2003-11-20T16:54Z

TDatetime är egentligen ett flyttal där heltalsdelen är antal dagar sedan 1899-12-30 och decimaldelen är hur stor del av dagen som har gått.
Det betyder att 2003-11-20 12:00 lagras som 37945,5. 
En "tom" datetime variabel är default 0, alltså 1899-12-30. 

Testa att lägga in en rad i databasen som innehåller t.ex. dagens datum så ska det nog fungera.

Permalänk: https://www.webforum.nu/p/1211306

## #3 — urban_hahne, 2003-11-30T13:16Z

Problemet med time

Så här funkade det bra med datum.
start kod:

procedure TAnnonsMainForm.Table1AfterOpen(DataSet: TDataSet);
begin

  TDateTimeField(DataSet.Fields\[nr\]).DisplayFormat := 'tt';
  DataSet.Fields\[nr\].EditMask := '00:00:00';
end;

slut kod.
där nr är indexnummret på datafältet tid.

Permalänk: https://www.webforum.nu/p/1215756

---

Tråden på webben: https://www.webforum.nu/amne/programmering/90860-delphi-access-problem
