[ACCES] Records scheiden

Pagina: 1
Acties:
  • 115 views sinds 30-01-2008
  • Reageer

  • Yuri
  • Registratie: Juni 2001
  • Laatst online: 13-08 00:23
Weer ff een acces vraagje.... ik heb een bestand geimporteerd en de records in dat bestand moet ik van 1 veld naar 2 velden scheiden.... het is allemaal een zelfde opbouw 4 cijfers en daarachter 2 letters, die letters moet ik in een ander veld hebben. Dus 1 veld met cijfers en 1 met letters.

dus zo bedoel ik het
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Veld1
9000AA
9000AB
9000AC
9000AD

Moet worden:

Veld1 |  Veld2
9000  |  AA
9000  |  AB
9000  |  AC
9000  |  AD


Hoe doe ik dat? Ik heb in de help van Acces gekeken... maar kon niets vinden, ik heb de search op GoT ook gebruikt, kon ook niets vinden... :(

GoT voor Behoud der Nederlandschen Taal [GvBdNT]


Verwijderd

Volgens mij heeft acces hier geen optie voor. Dus lijkt mij het makkelijkste is om een klein tooltje te schrijven in een of andere programmeer taal naar keuze.

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Kijk eens naar de functies MID, LEFT en RIGHT

Localhost, sweet localhost


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 24-08 15:16

gorgi_19

Kruimeltjes zijn weer op :9

Access heeft wel een LEFT en een right functie.
Maakt een Insert-query, waarbij je de linker 4 karakters in een tabel invoegt, de rechter 4 karakters en vervolgens de rest van de query.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Yuri
  • Registratie: Juni 2001
  • Laatst online: 13-08 00:23
gorgi_19 schreef op 07 februari 2003 @ 11:19:
Access heeft wel een LEFT en een right functie.
Maakt een Insert-query, waarbij je de linker 4 karakters in een tabel invoegt, de rechter 4 karakters en vervolgens de rest van de query.
OK... wat zou de code daar van worden dan?

code:
1
2
3
4
Veld                       :PCNA
Tabel                      :PCN+A
Sorteervolgorde            :Oplopend
Criteria                   :?????????

[ Voor 4% gewijzigd door Yuri op 07-02-2003 11:29 ]

GoT voor Behoud der Nederlandschen Taal [GvBdNT]


  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Yuri schreef op 07 February 2003 @ 11:28:
[...]

OK... wat zou de code daar van worden dan?
Kant en klare code vragen is hier not done, eigen initiatief is en blijft een vereiste.

Deze link zal je wel verder helpen...

Localhost, sweet localhost


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 19:16

Gerco

Professional Newbie

Dit gaat je waarschijnlijk niet lukken met de Query Builder, maar iets als dit moet wel gaan:
SQL:
1
UPDATE postcodes SET nummers = LEFT(postcode,4)

Bij Access lopen SQL en VB(Script) nogal eens door elkaar :)

[ Voor 7% gewijzigd door Gerco op 07-02-2003 11:36 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Gerco schreef op 07 februari 2003 @ 11:36:
Bij Access lopen SQL en VB(Script) nogal eens door elkaar :)
offtopic:
Recent hoorde ik iemand uitleggen: "SQL is een uitbreiding van visual basic om met databases te communiceren." Vervolgens liet hij inderdaad allemaal VB functies zien.

[ Voor 3% gewijzigd door kvdveer op 07-02-2003 11:40 . Reden: backspace ]

Localhost, sweet localhost


  • Yuri
  • Registratie: Juni 2001
  • Laatst online: 13-08 00:23
kvdveer schreef op 07 February 2003 @ 11:35:
[...]

Kant en klare code vragen is hier not done, eigen initiatief is en blijft een vereiste.

Deze link zal je wel verder helpen...
Ja ok... maar ik ken het _helemaal_ niet.... dus eigen initiatief... ik hier juist omdat ik er op geen mogelijkheid uit kom. Ik heb geprobeerd om het te exporteren naar bijv. .txt en daarna in een nieuwe database importeren om te kijken of je scheidingen aankon leggen. Dat feest ging dus ook niet door.. :(

GoT voor Behoud der Nederlandschen Taal [GvBdNT]


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
gewoon een query maken met als uitvoerveld 1 : left(postkode,4) en als uitvoerveld 2 : right(postkode,2)

Letterlijker kan ik het niet maken.

  • Yuri
  • Registratie: Juni 2001
  • Laatst online: 13-08 00:23
Gomez12 schreef op 07 February 2003 @ 12:25:
gewoon een query maken met als uitvoerveld 1 : left(postkode,4) en als uitvoerveld 2 : right(postkode,2)

Letterlijker kan ik het niet maken.
De expressie bevat een ongedefinieerde functie links..... :?

Wat doe ik fout?

GoT voor Behoud der Nederlandschen Taal [GvBdNT]


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
vertalen naar het engels???

  • Yuri
  • Registratie: Juni 2001
  • Laatst online: 13-08 00:23
Gomez12 schreef op 07 februari 2003 @ 12:50:
vertalen naar het engels???
Is Office Premium 2000 NL

GoT voor Behoud der Nederlandschen Taal [GvBdNT]


  • Freee!!
  • Registratie: December 2002
  • Laatst online: 24-08 12:10

Freee!!

Trotse papa van Toon en Len!

Yuri schreef op 07 februari 2003 @ 12:55:
[...]
Is Office Premium 2000 NL
Daarom moet je code nog wel in iets dat op Engels lijkt :P

The problem with common sense is that sense never ain't common - From the notebooks of Lazarus Long

GoT voor Behoud der Nederlandschen Taal [GvBdNT


  • Yuri
  • Registratie: Juni 2001
  • Laatst online: 13-08 00:23
Mr. Liu schreef op 07 February 2003 @ 13:01:
[...]

Daarom moet je code nog wel in iets dat op Engels lijkt :P
Dat had ik ook geprobeert.... ;)

De expressie die u hebt opgegeven, bevat een functie met een ongeldig aantal argumenten

GoT voor Behoud der Nederlandschen Taal [GvBdNT]


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Gewoon altijd onthouden dat code in het engels gaat. Anders krijg je veels te vreemde constructies. Het programma is door engelse mensen geschreven en de vertaling naar NL is niet overal even goed gelukt, plus het feit dat de meeste (99,999999999999%) stukjes code in engels zijn en niet in het nederlands heeft ms er helemaal geen aandacht aan besteed of het NL VBA wel helemaal klopte.
De expressie die u hebt opgegeven, bevat een functie met een ongeldig aantal argumenten
En daar is de F1 knop voor uitgevonden, geen forum. Ik ga zelf effe lekker zitten uitzoeken wat de precieze syntax van een commando is terwijl jij het ook kan doen door simpelweg ff op F1 te drukken.

[ Voor 29% gewijzigd door Gomez12 op 07-02-2003 13:08 ]


  • Freee!!
  • Registratie: December 2002
  • Laatst online: 24-08 12:10

Freee!!

Trotse papa van Toon en Len!

Yuri schreef op 07 February 2003 @ 13:03:
[...]

Dat had ik ook geprobeert.... ;)

De expressie die u hebt opgegeven, bevat een functie met een ongeldig aantal argumenten
Ik denk dat het tijd wordt dat je jouw code post (knippen en plakken). Misschien dat we je dan nog op plaatsen kunnen wijzen waar je fouten gemaakt hebt. Dit alles natuurlijk ervan uitgaande dat je de handleiding hebt nagekeken voor alle benodigde functies (LEFT, RIGHT etc.)

The problem with common sense is that sense never ain't common - From the notebooks of Lazarus Long

GoT voor Behoud der Nederlandschen Taal [GvBdNT


  • Yuri
  • Registratie: Juni 2001
  • Laatst online: 13-08 00:23
Gomez12 schreef op 07 February 2003 @ 13:06:
Gewoon altijd onthouden dat code in het engels gaat. Anders krijg je veels te vreemde constructies. Het programma is door engelse mensen geschreven en de vertaling naar NL is niet overal even goed gelukt, plus het feit dat de meeste (99,999999999999%) stukjes code in engels zijn en niet in het nederlands heeft ms er helemaal geen aandacht aan besteed of het NL VBA wel helemaal klopte.
true = waar
sum = som
last = laatste
expression = expressie

maar

group by = group by.... :?

GoT voor Behoud der Nederlandschen Taal [GvBdNT]


  • Freee!!
  • Registratie: December 2002
  • Laatst online: 24-08 12:10

Freee!!

Trotse papa van Toon en Len!

Yuri schreef op 07 February 2003 @ 13:09:
[...]
group by = group by.... :?
Die zou je voor dit probleem niet nodig moeten hebben, gaat om het groeperen van records op een bepaald kenmerk, gebruikt voor aggregatie-functies.

The problem with common sense is that sense never ain't common - From the notebooks of Lazarus Long

GoT voor Behoud der Nederlandschen Taal [GvBdNT


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
select * where [taal] = "NL" zou dit dan worden : selecteer alles waar [taal] is gelijk aan "NL"

  • grootw
  • Registratie: Maart 2001
  • Laatst online: 23:27

grootw

groot, groter, grootw

Yuri schreef op 07 February 2003 @ 11:11:
Weer ff een acces vraagje.... ik heb een bestand geimporteerd en de records in dat bestand moet ik van 1 veld naar 2 velden scheiden.... het is allemaal een zelfde opbouw 4 cijfers en daarachter 2 letters, die letters moet ik in een ander veld hebben. Dus 1 veld met cijfers en 1 met letters.

dus zo bedoel ik het
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Veld1
9000AA
9000AB
9000AC
9000AD

Moet worden:

Veld1 |  Veld2
9000  |  AA
9000  |  AB
9000  |  AC
9000  |  AD


Hoe doe ik dat? Ik heb in de help van Acces gekeken... maar kon niets vinden, ik heb de search op GoT ook gebruikt, kon ook niets vinden... :(
code:
1
2
SELECT Left([veld1],4) AS cijfers, Right([veld1],2) AS letters
FROM Tabel1;


gewoon in de nederlandse versie van access

[ Voor 3% gewijzigd door grootw op 07-02-2003 13:14 ]

systeem


  • Yuri
  • Registratie: Juni 2001
  • Laatst online: 13-08 00:23
Mr. Liu schreef op 07 February 2003 @ 13:08:
[...]

Ik denk dat het tijd wordt dat je jouw code post (knippen en plakken). Misschien dat we je dan nog op plaatsen kunnen wijzen waar je fouten gemaakt hebt. Dit alles natuurlijk ervan uitgaande dat je de handleiding hebt nagekeken voor alle benodigde functies (LEFT, RIGHT etc.)
Dit is em....

SELECT [Abonnee gegevens].Postalcode INTO test
FROM [Abonnee gegevens]
GROUP BY [Abonnee gegevens].Postalcode
HAVING ((([Abonnee gegevens].Postalcode)=Links("Postalcode,4")));

GoT voor Behoud der Nederlandschen Taal [GvBdNT]


  • Freee!!
  • Registratie: December 2002
  • Laatst online: 24-08 12:10

Freee!!

Trotse papa van Toon en Len!

Yuri schreef op 07 February 2003 @ 13:14:
[...]


Dit is em....

SELECT [Abonnee gegevens].Postalcode INTO test
FROM [Abonnee gegevens]
GROUP BY [Abonnee gegevens].Postalcode
HAVING ((([Abonnee gegevens].Postalcode)=Links("Postalcode,4")));
Ik denk dat iets als
code:
1
2
3
SELECT LEFT([Abonnee gegevens].Postalcode,4), 
            RIGHT([Abonnee gegevens].Postalcode,2)
INTO TEST_CIJFERS, TEST_LETTERS

een stuk beter werkt. Dan heb je die hele 'GROUP BY' en 'HAVING' niet nodig.

[ Voor 5% gewijzigd door Freee!! op 07-02-2003 13:22 ]

The problem with common sense is that sense never ain't common - From the notebooks of Lazarus Long

GoT voor Behoud der Nederlandschen Taal [GvBdNT


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:28

Creepy

Tactical Espionage Splatterer

Mr. Liu schreef op 07 februari 2003 @ 13:22:
[...]

Ik denk dat iets als
code:
1
2
3
SELECT LEFT([Abonnee gegevens].Postalcode,4), 
            RIGHT([Abonnee gegevens].Postalcode,2)
INTO TEST_CIJFERS, TEST_LETTERS

een stuk beter werkt. Dan heb je die hele 'GROUP BY' en 'HAVING' niet nodig.
Als de syntax al klopt, komt de boel nu in twee verschillende tabellen i.p.v. 1 tabel, twee velden ;)

[ Voor 13% gewijzigd door Creepy op 07-02-2003 13:32 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Yuri
  • Registratie: Juni 2001
  • Laatst online: 13-08 00:23
ok! Top!!!

Ik had zelf een ander foutje d'r uit gehaald:

SELECT [Abonnee gegevens].Postalcode INTO test
FROM [Abonnee gegevens]
GROUP BY [Abonnee gegevens].Postalcode
HAVING ((([Abonnee gegevens].Postalcode)=Left[Postalcode,4)));

GoT voor Behoud der Nederlandschen Taal [GvBdNT]


  • Freee!!
  • Registratie: December 2002
  • Laatst online: 24-08 12:10

Freee!!

Trotse papa van Toon en Len!

Creepy schreef op 07 February 2003 @ 13:30:
[...]
Als de syntax al klopt, komt de boel nu in twee verschillende tabellen i.p.v. 1 tabel, twee velden ;)
De door mij geposte code is meer bedoeld om de gevraagde gegevens in twee velden in een programma te krijgen (binnen een cursor). Om het in een andere tabel en verdeeld over twee velden te krijgen zou ik gewoon een INSERT .... SELECT ... FROM ... doen. Als je wilt zal ik op het systeem waar ik op werk (AS/400, gebruikt DB2/400) even twee tabellen definieren en de gegevens op die manier over pompen.

De code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
CREATE TABLE TESTTAB1 (
NAAM CHAR (20 ) NOT NULL WITH DEFAULT, 
STRAAT CHAR (20 ) NOT NULL WITH DEFAULT, 
HUISNUMMER DEC (5) NOT NULL WITH DEFAULT, 
POSTCODE CHAR (6 ) NOT NULL WITH DEFAULT,  
PLAATS CHAR (20 ) NOT NULL WITH DEFAULT)


CREATE TABLE TESTTAB2 (
NAAM CHAR ( 20) NOT NULL WITH DEFAULT, 
STRAAT CHAR ( 20) NOT NULL WITH DEFAULT, 
HUISNUMMER DEC (5) NOT NULL WITH DEFAULT, 
POSTCD_NUM CHAR (4 ) NOT NULL WITH DEFAULT,
POSTCD_ALF CHAR (2 ) NOT NULL WITH DEFAULT, 
PLAATS CHAR (20) NOT NULL WITH DEFAULT)


INSERT INTO TESTTAB2 (NAAM, STRAAT, HUISNUMMER, 
POSTCD_NUM, POSTCD_ALF, PLAATS) 
SELECT NAAM, STRAAT, HUISNUMMER, 
SUBSTRING(POSTCODE, 1, 4), SUBSTRING(POSTCODE, 5, 2),
PLAATS FROM TESTTAB1


Deze code functioneert zonder problemen.

[ Voor 40% gewijzigd door Freee!! op 07-02-2003 13:48 . Reden: code toegevoegd. ]

The problem with common sense is that sense never ain't common - From the notebooks of Lazarus Long

GoT voor Behoud der Nederlandschen Taal [GvBdNT

Pagina: 1