Waardering:
  • 1 stemmen - gemiddelde waardering is 4
  • 1
  • 2
  • 3
  • 4
  • 5
Datum notatie bidprenten
#1
Bidprent beeldbank

De velden Geboren op en Overleden op hebben nu de JJ-MM-DD notatie
Hoe kan ik het omzetten naar het gebruikelijke DD-MM-JJ
Heb in de config al toegevoegd $DATERING = "dmy"

Of gaat het met het replace programma ??

Mvg Jack Geurts Heemkundekring Nistelvorst
#2
Beste Jack,

Welke velden (nrs) bevatten de datums die je aangeeft? 
- en -
Is er een import gedaan vanuit een ander bestand (format)?

Wat is de URL naar de beeldbank?
=====================
Ton van Steenoven
Support ZCBS (00)

0626854665
======================================
Als niemand iets te vragen heeft dan zijn er geen problemen==
======================================
#3
(04-02-2018, 05:35 PM)forumzcbs schreef: Beste Jack,

Welke velden (nrs) bevatten de datums die je aangeeft? 
- en -
Is er een import gedaan vanuit een ander bestand (format)?

Het betreft de velden Geboren op en Overleden op

De beeldbank is gevuld met een export bestand uit Adlib, wellicht dat het daar mis is gegaan
#4
Om hoeveel records gaat het?
Met mijn vorige vraag bedoelde ik de veldnrs van het txt bestand van de Beeldbank. Er bestaat een standaardveld (VELD08) als datumveld. Een evt. Tweede datumveld moet als zodanig in de configuratie worden benoemd. 
Op welke wijze is de conversie vanuit adlib gedaan?
Is de Beeldbank die het betreft te zien? Wat is de url?
=====================
Ton van Steenoven
Support ZCBS (00)

0626854665
======================================
Als niemand iets te vragen heeft dan zijn er geen problemen==
======================================
#5
(04-02-2018, 07:54 PM)forumzcbs schreef: Om hoeveel records gaat het?
Met mijn vorige vraag bedoelde ik de veldnrs van het txt bestand van de Beeldbank. Er bestaat een standaardveld (VELD08) als datumveld. Een evt. Tweede datumveld moet als zodanig in de configuratie worden benoemd. 
Op welke wijze is de conversie vanuit adlib gedaan?
Is de Beeldbank die het betreft te zien? Wat is de url?

Ik adviseer je om eerst een nieuwe export uit adlib te maken waarbij mogelijk het formaat kan worden aangepast dan wel via een tussenoplossing kan worden uitgevoerd (Excel?).

Daarna dien je mogelijk het tweede veld (naast VELD08) nog als datumveld te definiëren.
=====================
Ton van Steenoven
Support ZCBS (00)

0626854665
======================================
Als niemand iets te vragen heeft dan zijn er geen problemen==
======================================
#6
(05-02-2018, 01:40 PM)forumzcbs schreef:
(04-02-2018, 07:54 PM)forumzcbs schreef: Om hoeveel records gaat het?
Met mijn vorige vraag bedoelde ik de veldnrs van het txt bestand van de Beeldbank. Er bestaat een standaardveld (VELD08) als datumveld. Een evt. Tweede datumveld moet als zodanig in de configuratie worden benoemd. 
Op welke wijze is de conversie vanuit adlib gedaan?
Is de Beeldbank die het betreft te zien? Wat is de url?

Ik adviseer je om eerst een nieuwe export uit adlib te maken waarbij mogelijk het formaat kan worden aangepast dan wel via een tussenoplossing kan worden uitgevoerd (Excel?).

Daarna dien je mogelijk het tweede veld (naast VELD08) nog als datumveld te definiëren.

De export vanuit Adlib is correct, in Adlib wordt ook JJ-MM-DD gebruikt

We hebben het bidprent bestand in Excel geladen, maar er is nog overleg met de werkgroep bidprenten of het in de beeldbank hetzelfde moet of naar DD-MM-JJ
De URL is https://beeldbank.nistelvorst.nl/cgi-bin/bidprent.pl
#7
Veld 08 is intern het zcbs aangemerkt als datumveld. Dit o.m. vanwege de sortering.
Elk ander veld kan als datumveld worden verklaard door er de variabele $SORT_DATE mee te vullen.
Zie www.zcbs.nl/watisnieuw   onder "c. Sorteren met een datumveld niet gelijk aan veld 08"

Het lijkt me zinvol om vooraf aan het exporteren naar de beeldbank in het excelblad de datumvelden om te zetten naar het andere formaat. Houdt rekening met VELD02 !!  voorloopnullen creëren.

Voorbeeld configuratie:

In ons geval (Ermeloo    -    Beeldbank Grafmonumenten) hebben we naast VELD08 ook VELD24 als datumveld in gebruik.
 
$SORT_DATE      = "24";     ##   VELD24 wordt aangemerkt als te sorteren als datumveld.

##De labels voor de velden:

$fieldname{"VELD08"}          = "Overlijdensdatum";

$fieldname{"VELD24"}          = "Geboortedatum";

##De lengte van VELD24

$VELD24   = 10;
=====================
Ton van Steenoven
Support ZCBS (00)

0626854665
======================================
Als niemand iets te vragen heeft dan zijn er geen problemen==
======================================
#8
Het klopt dat de bidprent gegevens van Nistelvorst
vanuit Adlib naar ZCBS een-op-een zijn overgehaald
via een 'standaard' Perl-scriptje.
Ook de JJJJ-MM-DD uit Adlib zijn in hetzelfde formaat 
JJJJ-MM-DD geplaatst in ZCBS.
Bij de conversie is dus niets misgegaan.

De  config variabele $DATERING heeft alleen te maken 
met welke invoervelden op invoerformulier worden getoond.

Nistelvorst gebruikt de velden 08 (Geboren op) en
22 (Overleden op).

Via het hulpprogramma zoekvervang.exe is het probleem
niet op te lossen.

Met Excel kunnen er problemen ontstaan met voorloopnullen,
door Microsoft verminkte datums in velden, extra
toegevoegde quotes, etcetc. 

Echter met een simpel Perl-scriptje is het wel eenvoudig
op te lossen. Mogelijk zijn er Perl-gebruikers die Nistelvorst
willen helpen, anders geef mij even een seintje dan los ik het op.

Wat er moet gebeuren:
1. Voer een MERGE uit waardoor je alleen een masterdatabase
   hebt. 
2. Stuur die naar iemand met Perl op zijn/haar PC (bewaar
   zelf wel goed een back-up).
3. Diegene met Perl op zijn/haar PC/laptop draait onderstaand Perl-scriptje.
4. Daarna wordt via de uiterst handige 'Bestand-Vergelijk_inhoud'
   optie van Total Commander de input met de output vergeleken
   (een fout maken is menselijk...).
5. Stuur weer terug naar Nistelvorst die het op de
   webserver plaatst.

En het (standaard) Perl-scriptje (iemand met wat (oude) 
programmeerkennis moet het m.i. tamelijk gemakkelijk kunnen
begrijpen):

############################
open (INP, "bidprent.txt");
  @ALL = <INP>;
close(INP);

foreach $record (@ALL) {
  @veld = split(/\t/, $record);
  next if ($veld[2] !~ /\d+/);   ## recordnummer?
  
  $veld[8]  = "$3-$2-$1"   if ($veld[8]  =~ /(\d{4})-(\d{2})-(\d{2})/);
  $veld[22] = "$3-$2-$1"  if ($veld[22] =~ /(\d{4})-(\d{2})-(\d{2})/);

  $record = join ("\t", @veld);
}

open (OUT, ">bidprent2.txt");
  print OUT @ALL;
close(OUT);
############################


Simpel? 
De reden van tussen haakje van bijvoorbeeld jaar: (\d{4})
is dat de treffer wordt opgeslagen in systeemvariabele $1 (etc).
Toch handig dat de ZCBS-database een Ascii-bestand is...

Als er toch wat toelichting gewenst is, dan hoor ik het wel.
Ook als ik het zelf even moet doen.

Gerard
#9
Hallo Jack,

Is dit topic naar tevredenheid beantwoord? Graag een seintje.
=====================
Ton van Steenoven
Support ZCBS (00)

0626854665
======================================
Als niemand iets te vragen heeft dan zijn er geen problemen==
======================================
#10
(11-02-2018, 11:11 PM)Ton van Steenoven schreef: Hallo Jack,

Is dit topic naar tevredenheid beantwoord? Graag een seintje.

Van de werkgroep bidprentjes nog geen antwoord gehad, men is wel druk bezig om het bestand te corrigeren
Mocht men besluiten om alsnog het datum formaat te wijzigen dan nader bericht

Zelf heb ik veel ervaring in Foxpro, waar het eenvoudig is middels substr commando de datumvelden ahw om te keren naan DD-MM-YYYY

Kan nadien weer geexporteerd worden naar txt tab gescheiden

Perl is nog nieuw voor mij, eens in gaan verdiepen
#11
Kun je het [beeldbank].txt bestand als bijlage bij een antwoord meesturen?
=====================
Ton van Steenoven
Support ZCBS (00)

0626854665
======================================
Als niemand iets te vragen heeft dan zijn er geen problemen==
======================================
#12
Beste Jack,

Mochten er nog datums in het bestand staan met een korte notatie bijv.  9-12-2001 of 7-4-1923 dan kun je met bijgaand script (bijlage) ook dit oplossen.
Let wel, het bevat de bestandsnamen (grafstenen.txt) en de datumveld nummers van onze databank (veld08 en veld24).

Deze moeten dan nog worden aangepast.

Uiteraard goed controleren na uitvoeren.


Bijlagen
.txt   datumconversie.pl.txt (Grootte: 1,92 KB / Aantal keer gedownload: 9)
=====================
Ton van Steenoven
Support ZCBS (00)

0626854665
======================================
Als niemand iets te vragen heeft dan zijn er geen problemen==
======================================
#13
(12-02-2018, 11:48 PM)Ton van Steenoven schreef: Beste Jack,

Mochten er nog datums in het bestand staan met een korte notatie bijv.  9-12-2001 of 7-4-1923 dan kun je met bijgaand script (bijlage) ook dit oplossen.
Let wel, het bevat de bestandsnamen (grafstenen.txt) en de datumveld nummers van onze databank (veld08 en veld24).

Deze moeten dan nog worden aangepast.

Uiteraard goed controleren na uitvoeren.

Ga het eens proberen in Perl, heb het bidprent.txt bestand gedownload op mijn PC

Het komt op hetzelfde neer zoals ik het in Foxpro wilde doen

Benieuwd of Foxpro hetzelfde resultaat geeft als Perl
l



Mvg Jack Geurts
#14
Beste Leo,

Is het al gelukt?
=====================
Ton van Steenoven
Support ZCBS (00)

0626854665
======================================
Als niemand iets te vragen heeft dan zijn er geen problemen==
======================================
#15
(21-02-2018, 09:47 PM)Ton van Steenoven schreef: Beste Leo,

Is het al gelukt?

Binnenkort een evaluatie met de werkgroep bidprentjes, dan wordt er beslist of ze de datum notatie hetzelfde willen houden als nu in Adlib YYYY-MM-DD
Mochten ze het  anders willen dan ga ik de datum notatie aanpassen bij de beeldbank bidprentjes.

Mvg Jack Geurts Heemkunde Kring Nistelvorst
#16
(21-02-2018, 11:27 PM)Jack Geurts schreef:
(21-02-2018, 09:47 PM)Ton van Steenoven schreef: Beste Leo,

Is het al gelukt?

Binnenkort een evaluatie met de werkgroep bidprentjes, dan wordt er beslist of ze de datum notatie hetzelfde willen houden als nu in Adlib YYYY-MM-DD
Mochten ze het  anders willen dan ga ik de datum notatie aanpassen bij de beeldbank bidprentjes.

Mvg Jack Geurts Heemkunde Kring Nistelvorst

Begrepen!
=====================
Ton van Steenoven
Support ZCBS (00)

0626854665
======================================
Als niemand iets te vragen heeft dan zijn er geen problemen==
======================================
#17
(06-02-2018, 01:56 PM)Gerard van Nes schreef: Het klopt dat de bidprent gegevens van Nistelvorst
vanuit Adlib naar ZCBS een-op-een zijn overgehaald
via een 'standaard' Perl-scriptje.
Ook de JJJJ-MM-DD uit Adlib zijn in hetzelfde formaat 
JJJJ-MM-DD geplaatst in ZCBS.
Bij de conversie is dus niets misgegaan.

De  config variabele $DATERING heeft alleen te maken 
met welke invoervelden op invoerformulier worden getoond.

Nistelvorst gebruikt de velden 08 (Geboren op) en
22 (Overleden op).

Via het hulpprogramma zoekvervang.exe is het probleem
niet op te lossen.

Met Excel kunnen er problemen ontstaan met voorloopnullen,
door Microsoft verminkte datums in velden, extra
toegevoegde quotes, etcetc. 

Echter met een simpel Perl-scriptje is het wel eenvoudig
op te lossen. Mogelijk zijn er Perl-gebruikers die Nistelvorst
willen helpen, anders geef mij even een seintje dan los ik het op.

Wat er moet gebeuren:
1. Voer een MERGE uit waardoor je alleen een masterdatabase
   hebt. 
2. Stuur die naar iemand met Perl op zijn/haar PC (bewaar
   zelf wel goed een back-up).
3. Diegene met Perl op zijn/haar PC/laptop draait onderstaand Perl-scriptje.
4. Daarna wordt via de uiterst handige 'Bestand-Vergelijk_inhoud'
   optie van Total Commander de input met de output vergeleken
   (een fout maken is menselijk...).
5. Stuur weer terug naar Nistelvorst die het op de
   webserver plaatst.

En het (standaard) Perl-scriptje (iemand met wat (oude) 
programmeerkennis moet het m.i. tamelijk gemakkelijk kunnen
begrijpen):

############################
open (INP, "bidprent.txt");
  @ALL = <INP>;
close(INP);

foreach $record (@ALL) {
  @veld = split(/\t/, $record);
  next if ($veld[2] !~ /\d+/);   ## recordnummer?
  
  $veld[8]  = "$3-$2-$1"   if ($veld[8]  =~ /(\d{4})-(\d{2})-(\d{2})/);
  $veld[22] = "$3-$2-$1"  if ($veld[22] =~ /(\d{4})-(\d{2})-(\d{2})/);

  $record = join ("\t", @veld);
}

open (OUT, ">bidprent2.txt");
  print OUT @ALL;
close(OUT);
############################


Simpel? 
De reden van tussen haakje van bijvoorbeeld jaar: (\d{4})
is dat de treffer wordt opgeslagen in systeemvariabele $1 (etc).
Toch handig dat de ZCBS-database een Ascii-bestand is...

Als er toch wat toelichting gewenst is, dan hoor ik het wel.
Ook als ik het zelf even moet doen.

Gerard
Hallo,

Ik heb Strawberry Perl geinstalleerd op mijn PC en bovenstaand script uitgevoerd
en de datums in bidprent2.txt zijn nu aangepast aan het het formaat DD-MM-YYYY
Mocht de werkgroep bidprent besluiten om op de beeldbank deze notatie te willen gebruiken dan kan ik het iig aanpassen

Jack Geurts HeemkundeKring Nistelvorst
#18
Ga er van uit dat dit topic gesloten kan worden.
=====================
Ton van Steenoven
Support ZCBS (00)

0626854665
======================================
Als niemand iets te vragen heeft dan zijn er geen problemen==
======================================


Lijst met mogelijk verwante topics
Topic Auteur Reacties Weergaven Laatste bericht
  Aanvullende afbeeldingen bidprenten Jack Geurts 2 57 09-03-2018, 07:50 PM
Laatste bericht: Jack Geurts
  Datum notatie bidprent beeldbank Jack Geurts 6 71 03-03-2018, 11:42 PM
Laatste bericht: Jack Geurts

Ga naar locatie:


Gebruikers die dit topic lezen: 2 gast(en)