|
| Flytte/kopier dele af en række... Fra : Pelle |
Dato : 23-04-01 23:40 |
|
Hejsa
Er det muligt at flytte dele af en række til en anden?
Problem:
Jeg har et kundekartotek med +10000 poster, alle indeholdene et
adressefelt -
da accessbasen blev lavet i sin tid, tog man ikke højde for at at adskille
vejnavn
og hus nummer så det hele står i samme 'kasse'
Er der mulighed for at lave et lille fixet script der flytter husnummeret
til en anden kasse
evt. også derefter/imens sletter det fra adressefeltet.
Mvh
Peter Jensen
http://www.eurocentret.dk/
| |
Peter Lykkegaard (24-04-2001)
| Kommentar Fra : Peter Lykkegaard |
Dato : 24-04-01 07:21 |
|
"Pelle" <mail@icedesign.dk> wrote in message
news:9c2b3p$h4e$1@news.inet.tele.dk...
>
> Jeg har et kundekartotek med +10000 poster, alle indeholdene et
> adressefelt -
> da accessbasen blev lavet i sin tid, tog man ikke højde for at at adskille
> vejnavn
> og hus nummer så det hele står i samme 'kasse'
>
Hvis du har direkte adgang til din Access database, så har access nogle
udmærkede indbyggede faciliteter til sligt
Ellers skal du i gang med lidt SQL gymnastik
dvs
Opret den nye tabel
Brug (begge linjer)
Insert Into MinNyeTabel (NytFeltA, NytFeltB)
Select FeltA, FeltB From MinGamleTabel
Husk at du skal bruge noget primary/foreign key for at sætte tabellerne
sammen bagefter
mvh/Peter Lykkegaard
| |
Pelle (24-04-2001)
| Kommentar Fra : Pelle |
Dato : 24-04-01 08:44 |
|
> Brug (begge linjer)
> Insert Into MinNyeTabel (NytFeltA, NytFeltB)
> Select FeltA, FeltB From MinGamleTabel
Jeg tror ikke jeg fik forklaret mig tydligt?
Så'en som jeg forstår dit svar, vil den flytte hele indholdet
til NytFeltA, NytFeltB i MinNyeTabel
fra FeltA, FeltB Fra MinGamleTabel
Mit problem er, at der i FeltA står "Bredgade 24",
det vil jeg delt i to nye felter (helst i samme tabel)
FeltC og FeltD med henholdsvis "Bredgade" i FeltC
og "24" i FeltD
Mvh
Peter Jensen
| |
Janus Klok Lauritsen (24-04-2001)
| Kommentar Fra : Janus Klok Lauritsen |
Dato : 24-04-01 10:56 |
|
Med regular expressions kan du lave et script der snupper f.eks. "alt indtil
et tal" og "fra tal til slut". Du kan sikkert uddybe søgningen, så den
bliver mere precis. Så skal du jo bare smide de 2 bidder i hvert sit felt i
DB.
Mvh
Janus
"Pelle" <mail@icedesign.dk> wrote in message
news:9c3avu$s5p$1@news.inet.tele.dk...
> > Brug (begge linjer)
> > Insert Into MinNyeTabel (NytFeltA, NytFeltB)
> > Select FeltA, FeltB From MinGamleTabel
>
>
> Jeg tror ikke jeg fik forklaret mig tydligt?
>
> Så'en som jeg forstår dit svar, vil den flytte hele indholdet
> til NytFeltA, NytFeltB i MinNyeTabel
> fra FeltA, FeltB Fra MinGamleTabel
>
> Mit problem er, at der i FeltA står "Bredgade 24",
> det vil jeg delt i to nye felter (helst i samme tabel)
> FeltC og FeltD med henholdsvis "Bredgade" i FeltC
> og "24" i FeltD
>
>
> Mvh
> Peter Jensen
>
>
>
>
>
| |
Jakob Andersen (24-04-2001)
| Kommentar Fra : Jakob Andersen |
Dato : 24-04-01 15:02 |
|
"Peter Lykkegaard" <polonline@hot.mail.com> wrote
> Insert Into MinNyeTabel (NytFeltA, NytFeltB)
> Select FeltA, FeltB From MinGamleTabel
Du kan også lave noget ala dette:
<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = ".........<Din connectionstring>........"
Set objRS = objConn.Execute("SELECT FeltA, FeltB FROM MinGamleTabel")
Do while Not objRS.EOF
arrGade_Nr = Split(objRS("FeltA")," ")
objConn.Execute("INSERT INTO MinNyeTabel(FeltA, FeltB, FeltC, FeltD)
VALUES('" & objRS("FeltA") & "', '" & objRS("FeltB") & "', '" arrGade_Nr(0)
"', " & arrGade_Nr(1))
Loop
%>
Det giver redundant data men det lyder til at det er det du vil.
--
Jakob Andersen
FAQ for webdesign gruppen på
< http://www.usenet.dk/oss/dk.edb.internet.webdesign>
"Det er rart at være vigtig, men det er vigtigere at være rar "
| |
Pelle (24-04-2001)
| Kommentar Fra : Pelle |
Dato : 24-04-01 16:06 |
|
> %>
>
> Det giver redundant data men det lyder til at det er det du vil.
Hejsa Jacob - lyder interessant, men vil den ikke dele ordet
så snart den ser et " " (mellemrum)? Hvad vi der så ikke ske med
"Lange Müllers Gade 2"?
Der skal jeg vel i realiteten ha 4 forskellige kasser at putte resultatet i,
faktisk så mange som der i teorien er vejnavn med mange mellemrum i
Øhh - redundant menes der så ikke dobbelt lagring af samme data ?
Meningen med 'projectet' er at lave et gaderegister ud fra
de mange kunder der er i basen. Brugeren skal så via nettet kunne se hvem
der bor i f. eks Danmarksgade ved at liste Gader der starter med D.
Trykkes der på D er det fint at Danmarksdage kun er repræsenteret
éen gang i (mellem)listen og ikke 130 gange fordi der tilfældigvis bor
130 emner i den gade i feks i nummer 11, 17, 32, 78 Etc
Som du måske har læst tidligere i konferencen har fået et godt råd
om hvordan man får et ASPscript til at løbe mit CD register igennem for
gentagelser, og derefter gemme navnet éen gang i en ny tabel - det var
meningen
jeg vil gøre det samme med kundedatabasen. Jeg vil dog ikke kunne
gøre det, før at husnumrene er frasorteret da den jo vil se alle adresser
som forskellige - Danmarksgade 12 og Danmarksgade 14, er samme gade
men computeen vil se dem som 2 forskellige - da de som førnævt står i
samme kasse, ærgeligt at den ikke er sted kendt
Ellers må jeg 'bare' igang med at cut'n'paste de næste 3 uger..... æv
Mvh
Peter Jensen
| |
Jakob Andersen (24-04-2001)
| Kommentar Fra : Jakob Andersen |
Dato : 24-04-01 23:02 |
|
"Pelle" <mail@icedesign.dk> wrote in message
news:9c44rb$rpu$1@news.inet.tele.dk...
> Hejsa Jacob - lyder interessant, men vil den ikke dele ordet
> så snart den ser et " " (mellemrum)? Hvad vi der så ikke ske med
> "Lange Müllers Gade 2"?
Dooh.... Min fejl havde lige hovedet under armen....
Du kan istedet gøre noget ala dette:
<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = ".........<Din connectionstring>........"
Set objRS = objConn.Execute("SELECT FeltA, FeltB FROM MinGamleTabel")
Do while Not objRS.EOF
strGade = Left(objRS("FeltA"), instrrev(objRS("FeltA"), " ") - 1)
IntNummer =Right(objRS("FeltA"), Len(objRS("FeltA")) -
instrrev(objRS("FeltA"), " "))
objConn.Execute("INSERT INTO MinNyeTabel(FeltA, FeltB, FeltC, FeltD)
VALUES('" & objRS("FeltA") & "', '" & objRS("FeltB") & "', '" & strGade &
"', " & intNummer)
Loop
%>
> Øhh - redundant menes der så ikke dobbelt lagring af samme data ?
Jo.... Det er jo det du får hvis du både har
Lange Müllers Vej 14
Samt
Lange Müllers Vej
og
14
--
Jakob Andersen
FAQ for webdesign gruppen på
< http://www.usenet.dk/oss/dk.edb.internet.webdesign>
"Det er rart at være vigtig, men det er vigtigere at være rar "
| |
Pelle (24-04-2001)
| Kommentar Fra : Pelle |
Dato : 24-04-01 23:40 |
|
>
> Set objRS = objConn.Execute("SELECT FeltA, FeltB FROM MinGamleTabel")
>
Først og fremmeste tak fordi du vil bruge så meget tid på mine spørgsmål.
Der er lige et par enkeltelte ting jeg må få helt på plads (stadig newbie)
vil SetObjRS ikke kikke i 2 felter fra MinGamleTabel, nemlig feltA og FeltB
- og hvis? hvorfor når gadenavnet som ønskes delt i to ny felter kun står i
FaltA
Og der vil ikke opstå problen i tilfældtet numerisk og alphanurisk adresse i
en
og samme f.sks kongensgade 3a?
Mvh
Peter
| |
Jakob Andersen (24-04-2001)
| Kommentar Fra : Jakob Andersen |
Dato : 24-04-01 23:49 |
|
"Pelle" <mail@icedesign.dk> wrote in message
news:9c4vf2$o5l$1@news.inet.tele.dk...
> Først og fremmeste tak fordi du vil bruge så meget tid på mine spørgsmål.
Det er jo det vi er her for.
> Der er lige et par enkeltelte ting jeg må få helt på plads (stadig newbie)
>
> vil SetObjRS ikke kikke i 2 felter fra MinGamleTabel, nemlig feltA og
FeltB
> - og hvis? hvorfor når gadenavnet som ønskes delt i to ny felter kun står
i
> FaltA
Jo, henter både FeltA og FeltB... Det troede jeg du ville...
Jeg går ud fra at FeltA indeholdet Gadenavn + nr
> Og der vil ikke opstå problen i tilfældtet numerisk og alphanurisk adresse
i
> en
> og samme f.sks kongensgade 3a?
Nej, det jeg gør er at jeg søger fra højre mod venstre efter det første
mellemrim (kan give problemer hvis du har f.eks: "vejnavn 1 th" da man så
kun vil få th. som nummer og resten som gadenavn) Derefter klipper jeg først
fra starten til det fundne mellemrum hvilket gerne skulle give mig
gadenavnet... Derefter "klipper" jeg fra slutningen til strengens længde
minus længden af det jeg klippede af før hvilket gerne skulle give mig
husnummeret.
--
Jakob Andersen
FAQ for webdesign gruppen på
< http://www.usenet.dk/oss/dk.edb.internet.webdesign>
"Det er rart at være vigtig, men det er vigtigere at være rar "
| |
Pelle (25-04-2001)
| Kommentar Fra : Pelle |
Dato : 25-04-01 00:07 |
|
> Jo, henter både FeltA og FeltB... Det troede jeg du ville...
> Jeg går ud fra at FeltA indeholdet Gadenavn + nr
Tusind tak for hjælpen - vil starks kaset mig over det i morgen efter
arbejde
Kan ikke lade være ... Hvad skulle der stå i FeltB, hvis FeltA har både
Gadenavn og husnummmer (som er tilfældet)...
> < http://www.usenet.dk/oss/dk.edb.internet.webdesign>
Ser interessant og lærerigt ud din side....
Mvh
Peter Jensen
| |
|
|