|
| Acces del navnefelt Fra : S_Larsen | Vist : 327 gange 100 point Dato : 15-03-04 10:30 |
|
I en forespørgelse vil jeg gerne have et felt der udtrækker efternavnet fra et navnefelt.
Felt: Personnavn (fornavne efternavn) Nyt felt. Efternavn: ????
Jeg kan ikke lige huske hvordan.
Mvh.
Søren
| |
| Kommentar Fra : wium |
Dato : 15-03-04 11:08 |
|
Højreklik på navnefeltet. Så kommer der en menu frem og du kan indsætte en ny kolonne. Så kan du indsætte fornavnet eller efternavnet her.
| |
| Kommentar Fra : refi |
Dato : 15-03-04 11:19 |
|
Forstår ikke helt hvad du mener.
Er det "Peter Hansen" i et felt og så vil du kun have Hansen over i et andet?
Er det sådan det skal forståes?
| |
| Kommentar Fra : S_Larsen |
Dato : 15-03-04 11:19 |
|
Ja det kan jeg, det er bare ikke det jeg vil. Jeg vil have udtrukket efternavnet til et selvstændigt felt, eller delt om du vil, i en forespørgelse.
Søren
| |
| Kommentar Fra : S_Larsen |
Dato : 15-03-04 11:21 |
|
Hej refi.
Det er lige præcis det jeg ville opnå.
Søren
| |
| Kommentar Fra : refi |
Dato : 15-03-04 11:32 |
|
Hvis navnefeltet blot er tekstformateret kan jeg ikke rigtig se hvordan du vil bære dig ad med at "skille" det ad igen.
Umiddelbart kan jeg kun se at du så skal kopiere hvert eneste navn til et nyt felt, men det er næppe det du har lyst til.
Det du vil er jo at skille en tekst ad i 2 (eller flere hvis der er mellemnavn) og det virker umiddelbart umuligt.
Har du gjort det tidligere?
Er navnene kommaseparerede?
Kommer navnene oprindeligt fra adskilte felter?
| |
| Kommentar Fra : S_Larsen |
Dato : 15-03-04 11:47 |
|
Hej refi.
ja, jeg har gjort det tidligere.
Jeg må jo virkelig støve cellerne af.
Jeg kommer tilbage når jeg har fundet løsningen, for den findes. Alt kan lade sig gøre i acces, bare man ved hvordan.
Jeg har den selv liggende et eller andet sted på en diskette, fra dengang man brugte dem.
Søren
| |
| Kommentar Fra : emesen |
Dato : 15-03-04 16:51 |
|
Det du vil lave er vel normalisering, så for og efternavn kommer i hver sin tabel.
Det er muligt du kan klare det med tabelanalyse.
Lav lige en kopi af din database først.
Og så >funktioner>databasefunktioner>komprimer og reparer
Og så>analyser>tabel
Måske går det godt
Emesen.
| |
| Kommentar Fra : S_Larsen |
Dato : 15-03-04 16:58 |
|
Hej emesen.
Nej det jeg vil er at man skriver hele navnet, altså fonavn - efternavn i et felt på formularen.
I en forespørgelse skal den så dele det.
Jeg har selv fundet en løsning som jeg vil arbejde med her de næste dage. Den består bla. i at køre en opdateringsforespørgelse. Den er lidt bøvlet.
Men et af problemmerne er evt. mellemnavn.
Får jeg det til at lykkedes kommer den her, men jeg vil fortsat gerne have nogle ideer/løsninger.
Man skal altid prøve flere forskellige, det giver som regel det bedste resultat.
Søren
| |
| Kommentar Fra : emesen |
Dato : 15-03-04 17:13 |
|
Ok - men din database er så ikke normaliseret, og kan give problemer.
Emesen.
| |
| Kommentar Fra : S_Larsen |
Dato : 15-03-04 17:26 |
|
Emesen.
Det tror jeg nu nok den er.
Det eneste jeg skal bruge efternavnet til er en sortering i forespørgelsen. Så den sortere på efternavn og ikke på fornavne.
Derfor skal jeg ikke ud og lave en ekstra tabel.
Jeg skal jo ikke bruge den. Ellers kunne jeg jo bare havet lavet dette felt fra starten
af.
Søren
| |
| Kommentar Fra : rosenj |
Dato : 21-03-04 11:55 |
|
Søren, Hvis du kommer dertil, at du er nødt til at opdele for- og efternavn i hver sit felt har jeg en måde at gøre det på. Er du interesseret i at vide mere om det?
| |
| Kommentar Fra : S_Larsen |
Dato : 21-03-04 12:24 |
| | |
| Kommentar Fra : rosenj |
Dato : 21-03-04 14:55 |
|
Jeg ved godt, det er lidt primitivt, men jeg kopierer faktisk feltet ind i word, hvor jeg får en macro til at erstatte mellemrummene mellem fornavn og efternavn til et tabulatorstop. Derefter konverteres teksten om til en tabel, som kopieres over i access. Hvis du stadig syntes det er interessant, kan jeg godt forklare mere detaljeret.
| |
|
Hej
Du kan hive efternavnet ud i et forespørgselsfelt sådan:
Efternavn: Right([navn];(Len([navn])-InStr([navn];" ")))
Funktionen finder det første mellemrum og benytter alt hvad der står herefter som efternavn. Dvs. mellemnavne, ekstra mellemrum osv indgår i efternavnet. Hvis det skal være meget mere sofistikeret end det så indret dog et efternavnsfelt - hvis ikke det er flere hundrede tusind records er det ikke noget problem for access. Alternativt fjern overflødige mellemrum osv. med funktionen Trim - kør en opdateringsforespørgsel på navnet i tabellen. Problemet med at gøre en hel masse i forespørgslen er at den bliver totalt uoverskuelig. Du kan måske skrive den, men det er slut med at tyde den bagefter.
| |
| Du har følgende muligheder | |
|
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
| |
|
|