Ga naar inhoud

VB6: Database info vergaren


anoniem

Aanbevolen berichten

Hi Folks, Ik heb een routine'tje waarmee ik alle tabelnamen kan achterhalen uit een Access-database dmv OpenSchema, geen punt. Maar hoe kom ik er nou bijv. achter wat voor een Format gebruikt wordt in een bepaalde kolom (veld). Ik wil datums in precies dezelfde Format tonen als in de database. Hoe kom ik via VB6 aan zulk soort database-gegevens? Bedankt voor je tijd! Rob
Link naar reactie
Datums worden, vooropgesteld dat je gebruik maakt van het datatype date, niet opgeslagen in een dd-mm-jjjj vorm maar als een numerieke waarde die jij naar elk willekeurig datumformaat kunt omzetten. Dat je ze in access in een dd-mm-jjjj vorm gepresenteerd krijgt zegt niets over de wijze van opslag. Het getoonde formaat zal waarschijnlijk afhankelijk zijn van je local settings in Windows. M.a.w. als je in je vb-programma je datum wilt laten weergeven zoals access dat doet zul je het datumformaat op moeten pikken zoals windows dat doet. Dit kun je als volgt doen. Maak een nieuwe module aan met daarin de volgende code: [code:1:a4eeb4c957] Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long Public Function LeesDatumFormaat() As String Const strFunctie = "LeesDatumFormaat" Const LOCALE_SLONGDATE = &H20 ' long date format string Const LOCALE_SSHORTDATE = &H1F ' short date format string Dim strResultaat As String Dim lngResultaat As Long On Error GoTo ErrorHandler LeesDatumFormaat = "" strResultaat = Space(255) lngResultaat = GetLocaleInfo(0, LOCALE_SSHORTDATE, strResultaat, 255) strResultaat = Left(strResultaat, lngResultaat) LeesDatumFormaat = strResultaat Exit Function ErrorHandler: MsgBox "Er is wat foutgegaan" End Function [/code:1:a4eeb4c957] Deze funktie haalt het shortdate format op maar is met een eenvoudige ingreep om te bouwen tot een funktie die naar believen het long en het short format ophaalt. Met de kreet strFormat = LeesdatumFormaat krijg je nu het gebruikte datumformaat. Dit formaat kun je nu gebruiken in je format funktie.
Link naar reactie
OK, mee eens De vorm waarmee Access een datum laat zien hoeft niet de vorm te zijn waarmee de datum is opgeslagen, maar .... In het ontwerpscherm van een tabel (in Access) kan je veldeigenschappen instellen (waaronder ook Notatie). Mijn eigenlijke vraag is, of je die veldeigenschappen kunt achterhalen vanuit VB6. Ze zitten tenslotte ook opgeslagen in de mdb. ROB
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...