Avatar billede markou Nybegynder
23. november 2004 - 13:21 Der er 10 kommentarer og
2 løsninger

Læse data fra et notatfelt

Hvordan kan jeg gennemgå indholdet af et notatfelt for at søge efter et kundenummer f.eks. T9010342 og en dato f.eks. 23-11-2004 og et klokkeslet 10:43 - hvor kundenummer, dato og klokkeslet værdierne ikke kendes i forvejen....

Jeg har en lang række mails som mit system importere fra Exchange til en tabel tblEmail. Nu skal alle mails så gennemgås og for hver mail skal der oprettes en post i tabellen tblEmailretur hvor kundenummer, dato og klokkeslet skal indsættes (dette kan jeg godt selv lave). Spg. er bare hvordan jeg finder dataerne fra notatfeltet...
Avatar billede jensen363 Forsker
23. november 2004 - 13:23 #1
Notatfelter er desværre ikke navigerbare/søgbare felter
Avatar billede overchord Nybegynder
23. november 2004 - 14:26 #2
Det bliver stort set umulight idet jeg ogsaa antager at disse kan forekomme vilkaarlige steder i teksten. Du skulle  soege igennem hvert nontat felt bogtstav for bogstav og med variable streng-laengder saavidt jeg kan se det og siden du ikke har noget eksisterende data kan du ikke slaa op om det er valideret data der findes.
Med mindre emailen er struktureret paa et helt 100% fast maade saa du kan finde kundenummeret fordi det altid staar som tegnene nummer 115-123 er det ikke muligt.
Avatar billede Jørgen Kirkegaard Professor
24. november 2004 - 00:51 #3
Hvis du kender længden på det, du søger, kan du vel loope over mid(notattekst,i,len) fra 1 og frem? Vel at mærke i VB. Nu ved jeg så ikke hvad du mener med "f.eks. kundenummer OG en dato..." Skal der være både-og? Hvis du kan, vil jeg nok foreslå at redesigne basen, så du har de relevante oplysninger i egne felter.
Avatar billede charlotterj Nybegynder
24. november 2004 - 09:17 #4
Eller hvis du ved, at der altid står "Kundenummer" foran, så kan du bruge InStr til at finde positionen for "Kundenummer" og derefter lægge et passende antal pladser til.

Kan du fortælle lidt mere om dine mails! Er der en fast struktur i dem? Jeg går ud fra, at det f.eks. er mails fra kunder, som du vil have struktureret i en ny tabel?
Avatar billede markou Nybegynder
24. november 2004 - 21:37 #5
Det er mails fra udførende personale, som indberetter via et system på wap. Der flyver så en mail af sted som serveren henter.
Samtidig undersøger en access database på serveren hvert 30. sekund om der er kommet nye beskeder i indbakken, såfremt der er importeres de til access databasen. Problemet er jo, at teksten i mailen (body) importeres til eet felt i databasen (ingen ide om hvordan dette kan gøres anderledes) - dvs. det før omtalte notatfelt.
Beskeden er opdelt som følger

Kundenummer (altid T######) - kundens navn (variabel længde) - arbejde udført den "dato" (altid ##-##-####) klokken "kl" (altid ##-##-####).

Problemet er således kundens navn som er variabel...... måske jeg kan søge efter nummer to "-" og så tælle antal tegn herefter - altså "- arbejde udført den" så har jeg jo placering for dato.

Jeg kan ikke ændre i designet for mailen, da den kommer fra en underleverandør :-(
24. november 2004 - 23:14 #6
Vil det sige, at du har en mail, som kan se således ud (med præcis de mellemrum og bindestreger osv)?:

T9010342 - Ole Olsen - arbejde udført den 24-11-2004 Klokken 23:14:12
Avatar billede Jørgen Kirkegaard Professor
24. november 2004 - 23:26 #7
Som charlotterj skriver, og hvis thomasj har ret, så skulle det være til at overkomme. Læs til første "-", her er kundenummer. Læs til anden "-" her er navn, og læs til næste dato/klokkeslet, og vupti, så har du dét også.
Avatar billede markou Nybegynder
25. november 2004 - 07:28 #8
> thomasjepsen
Ja præcis sådan - hver gang - dog med den undtagelse af kundenavn (i dit tilfælde Ole Olsen) kan være forskellig længde...
Jeg skal vel så "læse" til det andet "-" og lægge 20 tegn til (med mellemrum) så står jeg foran dato... og ligesådan med klokkeslet???
Men hvordan gør jeg det???
Avatar billede charlotterj Nybegynder
25. november 2004 - 08:54 #9
Jeg ville nok lave det i en VB-funktion, hvor du løber hele tabellen gennem og udskiller de forskellige parametre og smider dem over i en ny tabel. Men det kræver vist en del arbejde (for mig i hvert fald). Måske Thomasjepsen eller Staticdata hurtigere kan ruske en løsning op af lommen?
Avatar billede markou Nybegynder
25. november 2004 - 13:43 #10
> charlotterj
Det er faktisk måden, som jeg havde tænkt mig at lave den på. Jeg kan sagtens lave gennemløbet og "kopieringen" til den ny tabel... mit problem er bare hvordan jeg finder dato, klokkeslet m.v. i notatfeltet...
Avatar billede Jørgen Kirkegaard Professor
25. november 2004 - 14:30 #11
Du kan læse 12 tegn ad gangen og teste v.h.a. IsDate om det skulle være en dato. Jeg håber så, at klokken kommer lige efter.
Avatar billede Jørgen Kirkegaard Professor
23. juni 2005 - 11:19 #12
..tak for points..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester