Vraag & Antwoord

Programmeren

VB6: Database info vergaren

4 antwoorden
  • 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
  • O JA! Ik gebruik ADO in combinatie met .mdb bestanden. ROB
  • 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.
  • 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

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.