maand en dag omwisselen bij importeren

Status
Niet open voor verdere reacties.

JohanRVT

Gebruiker
Lid geworden
2 mrt 2011
Berichten
555
Beste groep,

een datum probleem; bij het importeren van bepaalde ID's blijkt dat indien de waarde van de dag (bv 04) kleiner is dan de waarde van de maand (bv 06 juni dus), de datum die wordt weergegeven niet correct is maar de maand en dag werden omgewisseld. (dus 06/04/jjjj wordt weergegeven na het importeren ipv 04/06/jjjj) Is de waarde van de dag groter dan de waarde van de maand dan worden achteraf de datum wel correct weergegeven.
Is dit te ondervangen met een If then statement en hoe dan best.
Deel van de code bij het importeren die van belang is:
Code:
   strBirthDate = MapColID.GetValue("BirthDate")
   strConvertedBirthDate = CDate(Mid$(strBirthDate, 5, 2) & "/" & Right$(strBirthDate, 2) & "/" & Left$(strBirthDate, 4))

en dan laat ik de datum in het formulier invullen met even verderop de code:
Code:
Me.BGeboortedatum = strConvertedBirthDate



Deze code lijkt het te doen off-line (maar niet op de server) maar of het netjes is?
Code:
strBirthDate = MapColID.GetValue("BirthDate")
    If CDate(Mid$(strBirthDate, 5, 2)) > CDate(Right$(strBirthDate, 2)) Then
      strConvertedBirthDate = CDate(Right$(strBirthDate, 2) & "/" & Mid$(strBirthDate, 5, 2) & "/" & Left$(strBirthDate, 4))

    Else
      strConvertedBirthDate = CDate(Mid$(strBirthDate, 5, 2) & "/" & Right$(strBirthDate, 2) & "/" & Left$(strBirthDate, 4))
 End If

Beste dank bij voorbaat
 
Laatst bewerkt:
Op je lokale pc gebruik je vermoedelijk andere datuminstellingen dan op de server, die vaak een Amerikaanse instelling heeft. Vandaar dat je dan een verwisseling krijgt. De enige manier om dat op te lossen is om een datumconversie te doen, of een specifieke opmaak mee te geven. De string die je nu gebruikt lijkt mij overbodig. Dit zou moeten werken:

Code:
Const strcJetDate = "\#mm\/dd\/yyyy\#"  'Niet aanpassen naar eigen landinstellingen!
strBirthDate = MapColID.GetValue("BirthDate")
strConvertedBirthDate = Format(strBirthDate, strcJetDate)

Of, als alternatief, kun je de datum omzetten naar een getal en met CDate terugconverteren.
Code:
strConvertedBirthDate = CDate(Cdbl(MapColID.GetValue("BirthDate"))
 
Octafish,

beide oplossingen geven foutmelding "overloop" en in oplossing twee stond er haakje ) te weinig rechts.
Nb: die const heb ik bovenaan gezet
Code:
Option Compare Database
Option Explicit

 ' Declareert de maandkalender class
Private mc As clsMonthCal
Const strcJetDate = "\#mm\/dd\/yyyy\#"  'Niet aanpassen naar eigen landinstellingen!
 
Laatst bewerkt:
Je kunt dit nog eens proberen:
Code:
Dim dtDatum As Date
Dim iDatum As Long
dtDatum = MapColID.GetValue("BirthDate")
iDatum = Clng(dtDatum)
strConvertedBirthDate = CDate(iDatum)
 
Octafish, de laatste oplossing doet het ook niet off-line voor de geboortedata met de dag kleiner dan de maand (steevast wordt de maand en dag omgewisseld)
 
Met mijn eerste oplossing doet hij het niet goed bij de eerste maal importeren en als je het importeren nogmaals uitvoert doet hij het wel goed. Wordt steeds raarder.
Eens de ganse code geplakt want die kan zeker wat vereevoudigt worden.
Code:
Private Sub cmdEID_Click()
Dim EIDlib1              As New EIDLIBCTRLLib.EIDlib
   Dim lhandle              As Long
   Dim RetStatus            As New EIDLIBCTRLLib.RetStatus
   Dim MapColPicture        As New EIDLIBCTRLLib.MapCollection
   Dim MapColID             As New EIDLIBCTRLLib.MapCollection
   Dim MapColAddress        As New EIDLIBCTRLLib.MapCollection
   Dim CertifCheck          As New EIDLIBCTRLLib.CertifCheck
   
   'BEID Persoons Info
   Dim strName              As String
   Dim strFirstName1, strConvertedFirstname, strConvertedSecondFirstname        As String
   Dim strBirthPlace        As String
   Dim strBirthDate, strConvertedBirthDate         As String
   Dim strGender, strconvertedgender As String
   Dim strNationality       As String
   Dim strNationalNumber    As String
   
   'BEID_ Kaart Info
   Dim strCardNumber As String
   Dim strChipNumber As String
   Dim strConvertedBegVal, strBegValDag, strBegVal, strBegValMaand As Object
   Dim strBegValJaar As String
   Dim strConvertedEndVal, strEndValDag, strEndVal, strEndValMaand As Object
   Dim strconvertedmonth, strconvertedday As Integer
   Dim strIssuingMunicipality As String
   Dim strDate As String, dteConvertedDate As Date
      
   'BEID pasfoto Info
   Dim Pasfoto_Temp() As Byte
   Dim filename, strFileName          As String
   Dim iPos                  As Integer
   Dim iPos2                 As Integer
   'BEID Adres Info
   Dim notexists, exists, strStreet, strConvertedStreet, strConvertedStreetNew            As String
   Dim strZipCode           As String
   Dim strMunicipality      As String
   Dim LResult As String
   Dim dtDatum As Date
   Dim iDatum As Long
  
   Set RetStatus = EIDlib1.Init("", 0, 0, lhandle)
   Set RetStatus = EIDlib1.GetID(MapColID, CertifCheck)
' Nakijken of er al een kaart in de reader is gestoken
If Not (RetStatus.GetGeneral = 0) Then
        MsgBox "Geen EId kaart ingevoegd; steek een Identiteitskaart in de kaartlezer of controleer o ze goed is geplaatst"
            Exit Sub
End If
' Nakijken of er al een naam is ingevuld
Select Case IsNull(Me.BNaam.Value)
Case Is = 0
        Dim LResponse As Integer
            LResponse = MsgBox("Er werd al een naam " & BNaam & " " & BVoornaam & " ingevuld, wilt u de gegevens overschrijven ?" _
            , vbYesNo, "Waarschuwing")
    If LResponse = vbYes Then

    
   strName = MapColID.GetValue("Name")
   strFirstName1 = MapColID.GetValue("FirstName1")
   strConvertedFirstname = Left([strFirstName1], InStr(1, [strFirstName1], " ") - 1)
   strConvertedSecondFirstname = Right([strFirstName1], Len([strFirstName1]) - InStrRev([strFirstName1], " "))
   strBirthPlace = MapColID.GetValue("BirthPlace")
  'methode oigigneel omzettten van ingescande gebooretdatum
   strBirthDate = MapColID.GetValue("BirthDate")
        If CDate(Mid$(strBirthDate, 5, 2)) > CDate(Right$(strBirthDate, 2)) Then
            strConvertedBirthDate = CDate(Right$(strBirthDate, 2) & "/" & Mid$(strBirthDate, 5, 2) & "/" & Left$(strBirthDate, 4))
        Else
            strConvertedBirthDate = CDate(Mid$(strBirthDate, 5, 2) & "/" & Right$(strBirthDate, 2) & "/" & Left$(strBirthDate, 4))
        End If
'oplossing 3
'dtDatum = MapColID.GetValue("BirthDate")
'iDatum = CLng(dtDatum)
'strConvertedBirthDate = CDate(iDatum)
   
   
   

   strGender = MapColID.GetValue("Gender")
        If notexists = InStr(strGender, "M") = 0 Then
            strconvertedgender = MapColID.GetValue("Gender")
        End If
        If exists = InStr(strGender, "M") <> 0 Then
            strconvertedgender = "V"
         End If
   strNationality = MapColID.GetValue("Nationality")
   strNationalNumber = MapColID.GetValue("NationalNumber")
   Set RetStatus = EIDlib1.GetAddress(MapColAddress, CertifCheck)
   strZipCode = MapColAddress.GetValue("ZIPCode")
   strMunicipality = MapColAddress.GetValue("Municipality")
   strCardNumber = MapColID.GetValue("CardNumber")
   strChipNumber = MapColID.GetValue("ChipNumber")
   strIssuingMunicipality = MapColID.GetValue("IssuingMunicipality")
   strBegVal = MapColID.GetValue("BeginValidityDate")
   strConvertedBegVal = CDate(Right$(strBegVal, 2) & "/" & Mid$(strBegVal, 5, 2) & "/" & Left$(strBegVal, 4))
   strEndVal = MapColID.GetValue("EndValidityDate")
   strConvertedEndVal = CDate(Right$(strEndVal, 2) & "/" & Mid$(strEndVal, 5, 2) & "/" & Left$(strEndVal, 4))

   'Haal eID foto op
   Set RetStatus = EIDlib1.GetPicture(MapColPicture, CertifCheck)
   Pasfoto_Temp = MapColPicture.GetValue("Picture")
   'Schrijf eID foto weg naar een bestand
   filename = GetPath & "\fotomap\" & strName & "_" & strConvertedFirstname & "_eid.jpg"
   SavePicture PictureFromRes(Pasfoto_Temp), filename
   'Laad bestand in image control
   ImageFrame.Picture = filename
    strStreet = MapColAddress.GetValue("Street")
   ' google maps werkt niet goed met een straatnaam met gemeenteafkorting tussen haakjes in
   ' indien het zo op de EID staat geeft dit de straat weer zonder dat er haakjes in staan met de deelgemeente
 
    If exists = InStr(strStreet, "(") <> 0 Or InStr(strStreet, ")") <> 0 Then
                iPos = InStr(strStreet, "(")
                iPos2 = InStr(strStreet, ")")
                If iPos > 0 Then
                    strConvertedStreet = Left$(strStreet, iPos - 1) & "" & Mid$(strStreet, iPos2 + 1)
                 End If
    End If
   
   Set RetStatus = EIDlib1.Exit

'Case 1 : de vorige straatnaam, postcode en gemeente zijn leeg
If (IsNull(Me.[BVStraat vorige woonpl].Value)) And (IsNull(Me.[BVPostcode vorige woonpl].Value)) And (IsNull(Me.[BVWoonplaats].Value)) Then
    If (IsNull(Me.BNaam.Value)) Or (IsNull(Me.BVoornaam.Value)) Or (IsNull(Me.BRijksregisternummer.Value)) Then
      'Me.BNaam_voornaam = strName & " " & strFirstName1
      Me.BNaam = Replace(Replace(Replace(strName, "ë", "ë"), "é", "é"), "è", "è")
      Me.BVoornaam = Replace(Replace(Replace(strConvertedFirstname, "ë", "ë"), "é", "é"), "è", "è")
      Me.[B2e voornaam] = Replace(Replace(Replace(strConvertedSecondFirstname, "ë", "ë"), "é", "é"), "è", "è")
      'Me.BNaam = VervangDiacriet([strName])
      'Me.BVoornaam = VervangDiacriet([strConvertedFirstname])
      'Me.[B2e voornaam] = VervangDiacriet([strConvertedSecondFirstname])
      Me.BGeboorteplaats = strBirthPlace
      Me.BGeboortedatum = strConvertedBirthDate
      Me.TxtNationaliteit = strNationality
      Me.BRijksregisternummer = strNationalNumber
      Me.[BVPostcode vorige woonpl] = strZipCode
      Me.TxtBHuidige_postcode = strZipCode
      Me.BVWoonplaats = strMunicipality
      Me.TxtBHuidige_Woonplaats = strMunicipality
      Me.BVWoonplaats.Requery
      Me.BIdentiteitsnummer = strCardNumber
      Me.TxtChipnummer = strChipNumber
      Me.TxtUitreikingsplaats = strIssuingMunicipality
      Me.TxtGeldigvan = strConvertedBegVal
      Me.TxtGeldigtot = strConvertedEndVal
      'Schrijft alvast de bestandsnaam voor de Eid foto weg naar de tabel
      Me.TxtEidfoto = GetPath & "\fotomap\" & strName & "_" & strConvertedFirstname & "_eid.jpg"
      Me.[BVStraat vorige woonpl] = strConvertedStreet
      Me.TxtBHuidige_straat = strConvertedStreet
      Me.[m/v] = strconvertedgender
      Me.txtTotaal.Requery
      Me.AllowAdditions = False
             
   Else  ' Update record information with new info from eID
      If Me.BRijksregisternummer = strNationalNumber Then
         'Me.BNaam_voornaam = strName & " " & strFirstName1
          Me.BNaam = Replace(Replace(Replace(strName, "ë", "ë"), "é", "é"), "è", "è")
          Me.BVoornaam = Replace(Replace(Replace(strConvertedFirstname, "ë", "ë"), "é", "é"), "è", "è")
          Me.[B2e voornaam] = Replace(Replace(Replace(strConvertedSecondFirstname, "ë", "ë"), "é", "é"), "è", "è")
         'Me.BNaam = VervangDiacriet([strName])
         'Me.BVoornaam = VervangDiacriet([strConvertedFirstname])
         'Me.[B2e voornaam] = VervangDiacriet([strConvertedSecondFirstname])
         Me.BGeboorteplaats = strBirthPlace
         Me.BGeboortedatum = strConvertedBirthDate
         Me.TxtNationaliteit = strNationality
         Me.[BVPostcode vorige woonpl] = strZipCode
         Me.TxtBHuidige_postcode = strZipCode
         Me.BVWoonplaats = strMunicipality
         Me.TxtBHuidige_Woonplaats = strMunicipality
         Me.BVWoonplaats.Requery
         Me.BIdentiteitsnummer = strCardNumber
         Me.TxtChipnummer = strChipNumber
         Me.TxtUitreikingsplaats = strIssuingMunicipality
         Me.TxtGeldigvan = strConvertedBegVal
         Me.TxtGeldigtot = strConvertedEndVal
         'Schrijft alvast de bestandsnaam voor de Eid foto weg naar de tabel
         Me.TxtEidfoto = GetPath & "\fotomap\" & strName & "_" & strConvertedFirstname & "_eid.jpg"
         Me.[BVStraat vorige woonpl] = strConvertedStreet
         Me.TxtBHuidige_straat = strConvertedStreet
         Me.[m/v] = strconvertedgender
         Me.txtTotaal.Requery
         Me.AllowAdditions = False
      Else
         If Me.BNaam = Replace(Replace(Replace(strName, "ë", "ë"), "é", "é"), "è", "è") And Me.BVoornaam = Replace(Replace(Replace(strConvertedFirstname, "ë", "ë"), "é", "é"), "è", "è") Then
            Me.BNaam = Replace(Replace(Replace(strName, "ë", "ë"), "é", "é"), "è", "è")
            Me.BVoornaam = Replace(Replace(Replace(strConvertedFirstname, "ë", "ë"), "é", "é"), "è", "è")
            Me.[B2e voornaam] = Replace(Replace(Replace(strConvertedSecondFirstname, "ë", "ë"), "é", "é"), "è", "è")
            Me.BGeboorteplaats = strBirthPlace
            Me.BGeboortedatum = strConvertedBirthDate
            Me.TxtNationaliteit = strNationality
            Me.BRijksregisternummer = strNationalNumber
            Me.[BVPostcode vorige woonpl] = strZipCode
            Me.TxtBHuidige_postcode = strZipCode
            Me.BVWoonplaats = strMunicipality
            Me.TxtBHuidige_Woonplaats = strMunicipality
            Me.BVWoonplaats.Requery
            Me.BIdentiteitsnummer = strCardNumber
            Me.TxtChipnummer = strChipNumber
            Me.TxtUitreikingsplaats = strIssuingMunicipality
            Me.TxtGeldigvan = strConvertedBegVal
            Me.TxtGeldigtot = strConvertedEndVal
            'Schrijft alvast de bestandsnaam voor de Eid foto weg naar de tabel
            Me.TxtEidfoto = GetPath & "\fotomap\" & strName & "_" & strConvertedFirstname & "_eid.jpg"
            Me.[BVStraat vorige woonpl] = strConvertedStreet
            Me.TxtBHuidige_straat = strConvertedStreet
            Me.[m/v] = strconvertedgender
            Me.txtTotaal.Requery
            Me.AllowAdditions = False
         Else
            If strName = "" Then
               MsgBox "Geen eID kaart in lezer!" & _
                       vbCrLf & "Plaats de eID van de bewoner in de lezer.", vbCritical, "FOUT"
                                
            Else
               MsgBox "De bewoner fiche en de eID kaart komen niet overeen!" & _
                       vbCrLf & "Zoek de juiste fiche die bij deze kaart hoort of maak een nieuwe fiche, geen bestaande van iemand anders overschrijven.", vbCritical, "FOUT"
                                
            End If
         End If
      End If
   End If

Else
'Case 2 : de vorige straatnaam, postcode en gemeente van de bewoner zijn niet leeg en mogen dus niet overschreven worden door de gegevens
' van zijn nieuwe identiteitskaart.
    If (IsNull(Me.BNaam.Value)) Or (IsNull(Me.BVoornaam.Value)) Or (IsNull(Me.BRijksregisternummer.Value)) Then
     'Me.BNaam_voornaam = strName & " " & strFirstName1
      Me.BNaam = Replace(Replace(Replace(strName, "ë", "ë"), "é", "é"), "è", "è")
      Me.BVoornaam = Replace(Replace(Replace(strConvertedFirstname, "ë", "ë"), "é", "é"), "è", "è")
      Me.[B2e voornaam] = Replace(Replace(Replace(strConvertedSecondFirstname, "ë", "ë"), "é", "é"), "è", "è")
      Me.BGeboorteplaats = strBirthPlace
      Me.BGeboortedatum = strConvertedBirthDate
      Me.TxtNationaliteit = strNationality
      Me.BRijksregisternummer = strNationalNumber
      'Me.[BVPostcode vorige woonpl] = strZipCode
      Me.TxtBHuidige_postcode = strZipCode
      'Me.BVWoonplaats = strMunicipality
      Me.TxtBHuidige_Woonplaats = strMunicipality
      Me.BVWoonplaats.Requery
      Me.BIdentiteitsnummer = strCardNumber
      Me.TxtChipnummer = strChipNumber
      Me.TxtUitreikingsplaats = strIssuingMunicipality
      Me.TxtGeldigvan = strConvertedBegVal
      Me.TxtGeldigtot = strConvertedEndVal
      'Schrijft alvast de bestandsnaam voor de Eid foto weg naar de tabel
      Me.TxtEidfoto = GetPath & "\fotomap\" & strName & "_" & strConvertedFirstname & "_eid.jpg"
      'Me.[BVStraat vorige woonpl] = strConvertedStreet
      Me.TxtBHuidige_straat = strConvertedStreet
      Me.[m/v] = strconvertedgender
      Me.txtTotaal.Requery
      Me.AllowAdditions = False

             
   Else  ' Update record information with new info from eID
      If Me.BRijksregisternummer = strNationalNumber Then
         'Me.BNaam_voornaam = strName & " " & strFirstName1
          Me.BNaam = Replace(Replace(Replace(strName, "ë", "ë"), "é", "é"), "è", "è")
          Me.BVoornaam = Replace(Replace(Replace(strConvertedFirstname, "ë", "ë"), "é", "é"), "è", "è")
          Me.[B2e voornaam] = Replace(Replace(Replace(strConvertedSecondFirstname, "ë", "ë"), "é", "é"), "è", "è")
         'Me.BNaam = VervangDiacriet([strName])
         'Me.BVoornaam = VervangDiacriet([strConvertedFirstname])
         'Me.[B2e voornaam] = VervangDiacriet([strConvertedSecondFirstname])
         Me.BGeboorteplaats = strBirthPlace
         Me.BGeboortedatum = strConvertedBirthDate
         Me.TxtNationaliteit = strNationality
         'Me.[BVPostcode vorige woonpl] = strZipCode
         Me.TxtBHuidige_postcode = strZipCode
         'Me.BVWoonplaats = strMunicipality
         Me.TxtBHuidige_Woonplaats = strMunicipality
         Me.BVWoonplaats.Requery
         Me.BIdentiteitsnummer = strCardNumber
         Me.TxtChipnummer = strChipNumber
         Me.TxtUitreikingsplaats = strIssuingMunicipality
         Me.TxtGeldigvan = strConvertedBegVal
         Me.TxtGeldigtot = strConvertedEndVal
         'Schrijft alvast de bestandsnaam voor de Eid foto weg naar de tabel
         Me.TxtEidfoto = GetPath & "\fotomap\" & strName & "_" & strConvertedFirstname & "_eid.jpg"
         'Me.[BVStraat vorige woonpl] = strConvertedStreet
         Me.TxtBHuidige_straat = strConvertedStreet
         Me.[m/v] = strconvertedgender
         Me.txtTotaal.Requery
         Me.AllowAdditions = False

      Else
         If Me.BNaam = Replace(Replace(Replace(strName, "ë", "ë"), "é", "é"), "è", "è") And Me.BVoornaam = Replace(Replace(Replace(strConvertedFirstname, "ë", "ë"), "é", "é"), "è", "è") Then
            Me.BNaam = Replace(Replace(Replace(strName, "ë", "ë"), "é", "é"), "è", "è")
            Me.BVoornaam = Replace(Replace(Replace(strConvertedFirstname, "ë", "ë"), "é", "é"), "è", "è")
            Me.[B2e voornaam] = Replace(Replace(Replace(strConvertedSecondFirstname, "ë", "ë"), "é", "é"), "è", "è")
            Me.BGeboorteplaats = strBirthPlace
            Me.BGeboortedatum = strConvertedBirthDate
            Me.TxtNationaliteit = strNationality
            Me.BRijksregisternummer = strNationalNumber
            'Me.[BVPostcode vorige woonpl] = strZipCode
            Me.TxtBHuidige_postcode = strZipCode
            'Me.BVWoonplaats = strMunicipality
            Me.TxtBHuidige_Woonplaats = strMunicipality
            Me.BVWoonplaats.Requery
            Me.BIdentiteitsnummer = strCardNumber
            Me.TxtChipnummer = strChipNumber
            Me.TxtUitreikingsplaats = strIssuingMunicipality
            Me.TxtGeldigvan = strConvertedBegVal
            Me.TxtGeldigtot = strConvertedEndVal
            'Schrijft alvast de bestandsnaam voor de Eid foto weg naar de tabel
            Me.TxtEidfoto = GetPath & "\fotomap\" & strName & "_" & strConvertedFirstname & "_eid.jpg"
            'Me.[BVStraat vorige woonpl] = strConvertedStreet
            Me.TxtBHuidige_straat = strConvertedStreet
            Me.[m/v] = strconvertedgender
            Me.txtTotaal.Requery
            Me.AllowAdditions = False

         Else

            If strName = "" Then
               MsgBox "Geen eID kaart in lezer!" & _
                       vbCrLf & "Plaats de eID van de bewoner in de lezer.", vbCritical, "FOUT"
                                
            Else
               MsgBox "De bewoner fiche en de eID kaart komen niet overeen!" & _
                       vbCrLf & "Zoek de juiste fiche die bij deze kaart hoort of maak een nieuwe fiche, geen bestaande van iemand anders overschrijven.", vbCritical, "FOUT"
                                
            End If
           End If
          End If
         End If
        End If
      End If
        Me.TxtNationaliteit = StrConv(Me.TxtNationaliteit, vbProperCase)
        Me.AllowAdditions = False
        Me.txtTotaal.Requery
Case Else
   strName = MapColID.GetValue("Name")
   strFirstName1 = MapColID.GetValue("FirstName1")
   strConvertedFirstname = Left([strFirstName1], InStr(1, [strFirstName1], " ") - 1)
   strConvertedSecondFirstname = Right([strFirstName1], Len([strFirstName1]) - InStrRev([strFirstName1], " "))
   strBirthPlace = MapColID.GetValue("BirthPlace")
 
   strBirthDate = MapColID.GetValue("BirthDate")
       If CDate(Mid$(strBirthDate, 5, 2)) < CDate(Right$(strBirthDate, 2)) Then
           strConvertedBirthDate = CDate(Right$(strBirthDate, 2) & "/" & Mid$(strBirthDate, 5, 2) & "/" & Left$(strBirthDate, 4))
       Else
           strConvertedBirthDate = CDate(Mid$(strBirthDate, 5, 2) & "/" & Right$(strBirthDate, 2) & "/" & Left$(strBirthDate, 4))
       End If
   strGender = MapColID.GetValue("Gender")
        If notexists = InStr(strGender, "M") = 0 Then
            strconvertedgender = MapColID.GetValue("Gender")
        End If
        If exists = InStr(strGender, "M") <> 0 Then
            strconvertedgender = "V"
         End If
   strNationality = MapColID.GetValue("Nationality")
   strNationalNumber = MapColID.GetValue("NationalNumber")
   Set RetStatus = EIDlib1.GetAddress(MapColAddress, CertifCheck)
   strZipCode = MapColAddress.GetValue("ZIPCode")
   strMunicipality = MapColAddress.GetValue("Municipality")
   strCardNumber = MapColID.GetValue("CardNumber")
   strChipNumber = MapColID.GetValue("ChipNumber")
   strIssuingMunicipality = MapColID.GetValue("IssuingMunicipality")
   strBegVal = MapColID.GetValue("BeginValidityDate")
   strConvertedBegVal = CDate(Right$(strBegVal, 2) & "/" & Mid$(strBegVal, 5, 2) & "/" & Left$(strBegVal, 4))
   strEndVal = MapColID.GetValue("EndValidityDate")
   strConvertedEndVal = CDate(Right$(strEndVal, 2) & "/" & Mid$(strEndVal, 5, 2) & "/" & Left$(strEndVal, 4))

   'Haal eID foto op
   Set RetStatus = EIDlib1.GetPicture(MapColPicture, CertifCheck)
   Pasfoto_Temp = MapColPicture.GetValue("Picture")
   'Schrijf eID foto weg naar een bestand
   filename = GetPath & "\fotomap\" & strName & "_" & strConvertedFirstname & "_eid.jpg"
   SavePicture PictureFromRes(Pasfoto_Temp), filename
   'Laad bestand in image control
   ImageFrame.Picture = filename
    strStreet = MapColAddress.GetValue("Street")
   ' google maps werkt niet goed met een straatnaam met gemeenteafkorting tussen haakjes in
   ' indien het zo op de EID staat geeft dit de straat weer zonder dat er haakjes in staan met de deelgemeente
 
    If exists = InStr(strStreet, "(") <> 0 Or InStr(strStreet, ")") <> 0 Then
                iPos = InStr(strStreet, "(")
                iPos2 = InStr(strStreet, ")")
                If iPos > 0 Then
                    strConvertedStreet = Left$(strStreet, iPos - 1) & "" & Mid$(strStreet, iPos2 + 1)
                 End If
    End If
   
   Set RetStatus = EIDlib1.Exit

'Case 1 : de vorige straatnaam, postcode en gemeente zijn leeg
If (IsNull(Me.[BVStraat vorige woonpl].Value)) And (IsNull(Me.[BVPostcode vorige woonpl].Value)) And (IsNull(Me.[BVWoonplaats].Value)) Then
    If (IsNull(Me.BNaam.Value)) Or (IsNull(Me.BVoornaam.Value)) Or (IsNull(Me.BRijksregisternummer.Value)) Then
      'Me.BNaam_voornaam = strName & " " & strFirstName1
      Me.BNaam = Replace(Replace(Replace(strName, "ë", "ë"), "é", "é"), "è", "è")
      Me.BVoornaam = Replace(Replace(Replace(strConvertedFirstname, "ë", "ë"), "é", "é"), "è", "è")
      Me.[B2e voornaam] = Replace(Replace(Replace(strConvertedSecondFirstname, "ë", "ë"), "é", "é"), "è", "è")
      'Me.BNaam = VervangDiacriet([strName])
      'Me.BVoornaam = VervangDiacriet([strConvertedFirstname])
      'Me.[B2e voornaam] = VervangDiacriet([strConvertedSecondFirstname])
      Me.BGeboorteplaats = strBirthPlace
      Me.BGeboortedatum = strConvertedBirthDate
      Me.TxtNationaliteit = strNationality
      Me.BRijksregisternummer = strNationalNumber
      Me.[BVPostcode vorige woonpl] = strZipCode
      Me.TxtBHuidige_postcode = strZipCode
      Me.BVWoonplaats = strMunicipality
      Me.TxtBHuidige_Woonplaats = strMunicipality
      Me.BVWoonplaats.Requery
      Me.BIdentiteitsnummer = strCardNumber
      Me.TxtChipnummer = strChipNumber
      Me.TxtUitreikingsplaats = strIssuingMunicipality
      Me.TxtGeldigvan = strConvertedBegVal
      Me.TxtGeldigtot = strConvertedEndVal
      'Schrijft alvast de bestandsnaam voor de Eid foto weg naar de tabel
      Me.TxtEidfoto = GetPath & "\fotomap\" & strName & "_" & strConvertedFirstname & "_eid.jpg"
      Me.[BVStraat vorige woonpl] = strConvertedStreet
      Me.TxtBHuidige_straat = strConvertedStreet
      Me.[m/v] = strconvertedgender
      Me.txtTotaal.Requery
      Me.AllowAdditions = False
             
   Else  ' Update record information with new info from eID
      If Me.BRijksregisternummer = strNationalNumber Then
         'Me.BNaam_voornaam = strName & " " & strFirstName1
          Me.BNaam = Replace(Replace(Replace(strName, "ë", "ë"), "é", "é"), "è", "è")
          Me.BVoornaam = Replace(Replace(Replace(strConvertedFirstname, "ë", "ë"), "é", "é"), "è", "è")
          Me.[B2e voornaam] = Replace(Replace(Replace(strConvertedSecondFirstname, "ë", "ë"), "é", "é"), "è", "è")
         'Me.BNaam = VervangDiacriet([strName])
         'Me.BVoornaam = VervangDiacriet([strConvertedFirstname])
         'Me.[B2e voornaam] = VervangDiacriet([strConvertedSecondFirstname])
         Me.BGeboorteplaats = strBirthPlace
         Me.BGeboortedatum = strConvertedBirthDate
         Me.TxtNationaliteit = strNationality
         Me.[BVPostcode vorige woonpl] = strZipCode
         Me.TxtBHuidige_postcode = strZipCode
         Me.BVWoonplaats = strMunicipality
         Me.TxtBHuidige_Woonplaats = strMunicipality
         Me.BVWoonplaats.Requery
         Me.BIdentiteitsnummer = strCardNumber
         Me.TxtChipnummer = strChipNumber
         Me.TxtUitreikingsplaats = strIssuingMunicipality
         Me.TxtGeldigvan = strConvertedBegVal
         Me.TxtGeldigtot = strConvertedEndVal
         'Schrijft alvast de bestandsnaam voor de Eid foto weg naar de tabel
         Me.TxtEidfoto = GetPath & "\fotomap\" & strName & "_" & strConvertedFirstname & "_eid.jpg"
         Me.[BVStraat vorige woonpl] = strConvertedStreet
         Me.TxtBHuidige_straat = strConvertedStreet
         Me.[m/v] = strconvertedgender
         Me.txtTotaal.Requery
         Me.AllowAdditions = False
      Else
         If Me.BNaam = Replace(Replace(Replace(strName, "ë", "ë"), "é", "é"), "è", "è") And Me.BVoornaam = Replace(Replace(Replace(strConvertedFirstname, "ë", "ë"), "é", "é"), "è", "è") Then
            Me.BNaam = Replace(Replace(Replace(strName, "ë", "ë"), "é", "é"), "è", "è")
            Me.BVoornaam = Replace(Replace(Replace(strConvertedFirstname, "ë", "ë"), "é", "é"), "è", "è")
            Me.[B2e voornaam] = Replace(Replace(Replace(strConvertedSecondFirstname, "ë", "ë"), "é", "é"), "è", "è")
            Me.BGeboorteplaats = strBirthPlace
            Me.BGeboortedatum = strConvertedBirthDate
            Me.TxtNationaliteit = strNationality
            Me.BRijksregisternummer = strNationalNumber
            Me.[BVPostcode vorige woonpl] = strZipCode
            Me.TxtBHuidige_postcode = strZipCode
            Me.BVWoonplaats = strMunicipality
            Me.TxtBHuidige_Woonplaats = strMunicipality
            Me.BVWoonplaats.Requery
            Me.BIdentiteitsnummer = strCardNumber
            Me.TxtChipnummer = strChipNumber
            Me.TxtUitreikingsplaats = strIssuingMunicipality
            Me.TxtGeldigvan = strConvertedBegVal
            Me.TxtGeldigtot = strConvertedEndVal
            'Schrijft alvast de bestandsnaam voor de Eid foto weg naar de tabel
            Me.TxtEidfoto = GetPath & "\fotomap\" & strName & "_" & strConvertedFirstname & "_eid.jpg"
            Me.[BVStraat vorige woonpl] = strConvertedStreet
            Me.TxtBHuidige_straat = strConvertedStreet
            Me.[m/v] = strconvertedgender
            Me.txtTotaal.Requery
            Me.AllowAdditions = False
         Else
            If strName = "" Then
               MsgBox "Geen eID kaart in lezer!" & _
                       vbCrLf & "Plaats de eID van de bewoner in de lezer.", vbCritical, "FOUT"
                                
            Else
               MsgBox "De bewoner fiche en de eID kaart komen niet overeen!" & _
                       vbCrLf & "Zoek de juiste fiche die bij deze kaart hoort of maak een nieuwe fiche, geen bestaande van iemand anders overschrijven.", vbCritical, "FOUT"
                                
            End If
         End If
      End If
   End If

Else
'Case 2 : de vorige straatnaam, postcode en gemeente van de bewoner zijn niet leeg en mogen dus niet overschreven worden door de gegevens
' van zijn nieuwe identiteitskaart.
    If (IsNull(Me.BNaam.Value)) Or (IsNull(Me.BVoornaam.Value)) Or (IsNull(Me.BRijksregisternummer.Value)) Then
     'Me.BNaam_voornaam = strName & " " & strFirstName1
      Me.BNaam = Replace(Replace(Replace(strName, "ë", "ë"), "é", "é"), "è", "è")
      Me.BVoornaam = Replace(Replace(Replace(strConvertedFirstname, "ë", "ë"), "é", "é"), "è", "è")
      Me.[B2e voornaam] = Replace(Replace(Replace(strConvertedSecondFirstname, "ë", "ë"), "é", "é"), "è", "è")
      Me.BGeboorteplaats = strBirthPlace
      Me.BGeboortedatum = strConvertedBirthDate
      Me.TxtNationaliteit = strNationality
      Me.BRijksregisternummer = strNationalNumber
      'Me.[BVPostcode vorige woonpl] = strZipCode
      Me.TxtBHuidige_postcode = strZipCode
      'Me.BVWoonplaats = strMunicipality
      Me.TxtBHuidige_Woonplaats = strMunicipality
      Me.BVWoonplaats.Requery
      Me.BIdentiteitsnummer = strCardNumber
      Me.TxtChipnummer = strChipNumber
      Me.TxtUitreikingsplaats = strIssuingMunicipality
      Me.TxtGeldigvan = strConvertedBegVal
      Me.TxtGeldigtot = strConvertedEndVal
      'Schrijft alvast de bestandsnaam voor de Eid foto weg naar de tabel
      Me.TxtEidfoto = GetPath & "\fotomap\" & strName & "_" & strConvertedFirstname & "_eid.jpg"
      'Me.[BVStraat vorige woonpl] = strConvertedStreet
      Me.TxtBHuidige_straat = strConvertedStreet
      Me.[m/v] = strconvertedgender
      Me.txtTotaal.Requery
      Me.AllowAdditions = False

             
   Else  ' Update record information with new info from eID
      If Me.BRijksregisternummer = strNationalNumber Then
         'Me.BNaam_voornaam = strName & " " & strFirstName1
          Me.BNaam = Replace(Replace(Replace(strName, "ë", "ë"), "é", "é"), "è", "è")
          Me.BVoornaam = Replace(Replace(Replace(strConvertedFirstname, "ë", "ë"), "é", "é"), "è", "è")
          Me.[B2e voornaam] = Replace(Replace(Replace(strConvertedSecondFirstname, "ë", "ë"), "é", "é"), "è", "è")
         'Me.BNaam = VervangDiacriet([strName])
         'Me.BVoornaam = VervangDiacriet([strConvertedFirstname])
         'Me.[B2e voornaam] = VervangDiacriet([strConvertedSecondFirstname])
         Me.BGeboorteplaats = strBirthPlace
         Me.BGeboortedatum = strConvertedBirthDate
         Me.TxtNationaliteit = strNationality
         'Me.[BVPostcode vorige woonpl] = strZipCode
         Me.TxtBHuidige_postcode = strZipCode
         'Me.BVWoonplaats = strMunicipality
         Me.TxtBHuidige_Woonplaats = strMunicipality
         Me.BVWoonplaats.Requery
         Me.BIdentiteitsnummer = strCardNumber
         Me.TxtChipnummer = strChipNumber
         Me.TxtUitreikingsplaats = strIssuingMunicipality
         Me.TxtGeldigvan = strConvertedBegVal
         Me.TxtGeldigtot = strConvertedEndVal
         'Schrijft alvast de bestandsnaam voor de Eid foto weg naar de tabel
         Me.TxtEidfoto = GetPath & "\fotomap\" & strName & "_" & strConvertedFirstname & "_eid.jpg"
         'Me.[BVStraat vorige woonpl] = strConvertedStreet
         Me.TxtBHuidige_straat = strConvertedStreet
         Me.[m/v] = strconvertedgender
         Me.txtTotaal.Requery
         Me.AllowAdditions = False

      Else
         If Me.BNaam = Replace(Replace(Replace(strName, "ë", "ë"), "é", "é"), "è", "è") And Me.BVoornaam = Replace(Replace(Replace(strConvertedFirstname, "ë", "ë"), "é", "é"), "è", "è") Then
            Me.BNaam = Replace(Replace(Replace(strName, "ë", "ë"), "é", "é"), "è", "è")
            Me.BVoornaam = Replace(Replace(Replace(strConvertedFirstname, "ë", "ë"), "é", "é"), "è", "è")
            Me.[B2e voornaam] = Replace(Replace(Replace(strConvertedSecondFirstname, "ë", "ë"), "é", "é"), "è", "è")
            Me.BGeboorteplaats = strBirthPlace
            Me.BGeboortedatum = strConvertedBirthDate
            Me.TxtNationaliteit = strNationality
            Me.BRijksregisternummer = strNationalNumber
            'Me.[BVPostcode vorige woonpl] = strZipCode
            Me.TxtBHuidige_postcode = strZipCode
            'Me.BVWoonplaats = strMunicipality
            Me.TxtBHuidige_Woonplaats = strMunicipality
            Me.BVWoonplaats.Requery
            Me.BIdentiteitsnummer = strCardNumber
            Me.TxtChipnummer = strChipNumber
            Me.TxtUitreikingsplaats = strIssuingMunicipality
            Me.TxtGeldigvan = strConvertedBegVal
            Me.TxtGeldigtot = strConvertedEndVal
            'Schrijft alvast de bestandsnaam voor de Eid foto weg naar de tabel
            Me.TxtEidfoto = GetPath & "\fotomap\" & strName & "_" & strConvertedFirstname & "_eid.jpg"
            'Me.[BVStraat vorige woonpl] = strConvertedStreet
            Me.TxtBHuidige_straat = strConvertedStreet
            Me.[m/v] = strconvertedgender
            Me.txtTotaal.Requery
            Me.AllowAdditions = False

         Else

            If strName = "" Then
               MsgBox "Geen eID kaart in lezer!" & _
                       vbCrLf & "Plaats de eID van de bewoner in de lezer.", vbCritical, "FOUT"
                                
            Else
               MsgBox "De bewoner fiche en de eID kaart komen niet overeen!" & _
                       vbCrLf & "Zoek de juiste fiche die bij deze kaart hoort of maak een nieuwe fiche, geen bestaande van iemand anders overschrijven.", vbCritical, "FOUT"
                                
            End If
           End If
          End If
         End If
        End If
      'End If
        Me.TxtNationaliteit = StrConv(Me.TxtNationaliteit, vbProperCase)
        Me.AllowAdditions = False
        Me.txtTotaal.Requery
End Select

Exit_cmdEID_Click:
    Exit Sub
 If LResponse = vbNo Then
         Exit Sub
 End If
 
Of je code korter kan? De vraag stellen is hem beantwoorden :)
Neem nu alleen al een regel als: Me.TxtBHuidige_postcode = strZipCode die 12 keer voorkomt! Het lijkt er op alsof je de hele toewijzing in alle Cases en IF constructies uitvoert. Lijkt mij een beetje onnodig: gegevens die in alle situaties voorkomen, zet je er natuurlijk maar één keer in.
strZipCode = MapColAddress.GetValue("ZIPCode")
Me.TxtBHuidige_postcode = strZipCode

En dat lijkt mij meer dan voldoende! En ik vermoed dat je nog wel meer regels hebt die je met één keer kunt instellen, zoals Me.TxtBHuidige_Woonplaats = strMunicipality. Ondertussen heb ik de code waar het, gezien de vraag, om gaat, nog steeds niet gevonden :)
 
Octafish, het gaat om dit stukje code qua dat geboortedatum probleem
Code:
'methode oigigneel omzettten van ingescande gebooretdatum
   strBirthDate = MapColID.GetValue("BirthDate")
        If CDate(Mid$(strBirthDate, 5, 2)) > CDate(Right$(strBirthDate, 2)) Then
            strConvertedBirthDate = CDate(Right$(strBirthDate, 2) & "/" & Mid$(strBirthDate, 5, 2) & "/" & Left$(strBirthDate, 4))
        Else
            strConvertedBirthDate = CDate(Mid$(strBirthDate, 5, 2) & "/" & Right$(strBirthDate, 2) & "/" & Left$(strBirthDate, 4))
        End If

NB: En als ik de knop (waar deze procedure onder zit) 2 x klik dan draait ie de 2° keer de geboortedatum correct :eek: maar in feite :D
Tja, wat die ellenlange code betreft met herhalingen komt omdat ik ze maar zo voor elkaar kreeg.
 
Hoi Michel, heb je het stukje code al gevonden :-) Misschien kan je de code ook verkorten?
 
Ik heb er verder nog niet naar gekeken; de tijd gaat te snel :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan