13. marts 2001 - 12:03Der er
6 kommentarer og 3 løsninger
udvælge en del af en kolonne
Kolonnen består af tekst celler, hvor dataene står på denne måde:xxx-xxx-xxx hvor xxx er = tal eller bogstaver på højest 3 tegn adskilt med \'-\' tegnet. Kan man udvælge f.eks de sidste 3 tegn i hele kolonnen og kopiere det til udklipsholderen. Det er fordi at databasen skal gøres relationel, og så skal ID\'et opdeles i flere dele.
Det er en flad tabel og der er ingen kriterier for xxx-xxx-xxx cellen. Jeg skal lave en ny tabel og smide de sidste 3 tegn ind i den som en del af en sammensat nøgle f.eks H01-002-003 hvor 003 så skal bruges i de nye tabel. Det skal lige sige at tabellen(ikke den nye) er sammenkædet med en dBase database.
Til Region: Mid er ikke så god, da df9934 fortalte at xxx er på HØJEST 3 tegn. Derved kan du risikere at tallet hedder: \"12-34-56\" istedet for \"123-456-789\". Derved duer mid ikke, da Mid([Felt1];9;3) giver \"\".
Til df9934: Kan den sidste del af tallet (altså det du vil trække ud) godt være på 1 eller 2 tegn? I så fald duer det jo ikke at tage de 3 sidste tegn. Derimod skal man finde det sidste \"-\" og så tage resten!
Dene funktion skulle gøre det:
Public Function OpsplitTekst(Tekst As String) Dim Pos As Integer Pos = Len(Tekst) Do Until Mid(Tekst, Pos, 1) = \"-\" Or Pos = 1 Pos = Pos - 1 Loop OpsplitTekst = Mid(Tekst, Pos + 1) End Function
Derved kunne du lave en query, med følgende SQL:
INSERT INTO [NyTabel] ( *, [NytFelt] ) SELECT *, OpsplitTekst([GlFelt]) FROM GlTabel;
Derved får du oprettet en ny tabel, som er identisk med den gamle, bortset fra at du får en ekstra kolonne med det nye felt. Derefter kan du altid fjerne og tilføje kolonner i den nye tabel som du vil.
Ovenstående eksempel duer forøvrigt uanset antallet af tegn efter den sidste \"-\", og kan derfor bruges under alle omstændigheder.
/Thomas
Synes godt om
Ny brugerNybegynder
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.