Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Tekst splitsen  (gelezen 7612 keer)

0 leden en 1 gast bekijken dit topic.

Offline Fireblade

  • Nieuw lid
  • Berichten: 6
  • Geslacht: Man
  • Oplossing.be
Tekst splitsen
« Gepost op: 24 juni 2015, 11:57:26 »
Hallo Allemaal

Ik zit met het volgende probleem.

Ik heb, in Access 2013, een tabel met een veld waarin de volgende gegevens staan:

Tekst 1 – Tekst 2 – Tekst 3 – Tekst 4 – Tekst 5

De structuur van de tekst is altijd hetzelfde, namelijk zijn de stukken tekst altijd gescheiden door een liggend streepje, maar de lengte van de diverse teksten kan variëren.
Nu zoek ik, in visual basic, een oplossing om deze teksten te splitsen in 5 aparte stukken tekst en  de gesplitste teksten in een nieuwe tabel te zetten.

Voorbeeld:
Veld1: Tekst 1
Veld2: Tekst 2
Veld3: Tekst 3
Veld4: Tekst 4
Veld5: Tekst 5

Wie kan mij helpen met het oplossen van dit probleem?

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Tekst splitsen
« Reactie #1 Gepost op: 24 juni 2015, 12:33:07 »
Hallo,

Access is niet aan mij besteed, maar teksten splitsen doe ik wel eens in Excel  ;)

't Zou me niet verbazen als deze ook in Access zou lukken :
Dim tekst(0 To 4)
For i = 0 To 4
    tekst(i) = Split(origineletekst, " – ")(i)
Next i

Mvg,
pitufo
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline Fireblade

  • Nieuw lid
  • Berichten: 6
  • Geslacht: Man
  • Oplossing.be
Re: Tekst splitsen
« Reactie #2 Gepost op: 24 juni 2015, 13:00:30 »
Dank voor de reactie.

Heb even snel deze oplossing geprobeerd, maar krijg de volgende foutmelding:

"Het subscript valt buiten het bereik

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Tekst splitsen
« Reactie #3 Gepost op: 24 juni 2015, 13:20:00 »
Dan lijkt het waarschijnlijk dat je " – " misschien geen 4 keer in je originele tekst (zoals in je voorbeeld) hebt zitten.
Zelfs het liggend streepje zou je parten kunnen spelen. Alleen als het deel binnen je tekst en dit in de code Split(origineletekst, " – ") echt identiek is zal dit werken.
Test je dat nog eens ?
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline dizzl

  • Ambassadeur
  • *****
  • Berichten: 2.345
  • I've Upped my standards,now,up yours!
Re: Tekst splitsen
« Reactie #4 Gepost op: 24 juni 2015, 18:27:48 »
Open je bestand met kladblok, doe een vervang (replace) van alle - tekens door een ;
Sla dat bestand op en noem het NaamNaarjouwKeuze.csv

Dit bestand kan je importeren in access of meteen openen in excel.


Systeem  : Intel Core i5-4440 3.1Ghz, 3.1GHz 16Giga Ram 64Bits
Software : Windows 10 professional, Avira, Office 2016 Professional

Offline Fireblade

  • Nieuw lid
  • Berichten: 6
  • Geslacht: Man
  • Oplossing.be
Re: Tekst splitsen
« Reactie #5 Gepost op: 24 juni 2015, 18:51:28 »
Dizzl,

Kan het bestand niet importeren.
Het is een gekoppelde tabel. Aan de opmaak kan ik (helaas) niets veranderen.

Offline Fireblade

  • Nieuw lid
  • Berichten: 6
  • Geslacht: Man
  • Oplossing.be
Re: Tekst splitsen
« Reactie #6 Gepost op: 24 juni 2015, 18:56:09 »
Pitufo,

Heb na je laatste reactie nog even getest. Geeft nu geen foutmelding meer, maar er gebeurt verder ook niets.
Hieronder het VBA script:
----------------------------------------------------
Option Compare Database
Option Explicit

Dim rs As Recordset

Set rs = CurrentDb.OpenRecordset("tblCursussen", dbOpenSnapshot)

Private Sub btnBijwerken_Click()

Dim tekst(0 To 4)
For i = 0 To 4
    tekst(i) = Split(tekst, " – ")(i)
Next i

End Sub
--------------------------------------------------------------------

Moet ik daarna geen tabel opgeven om de nieuwe data weg te schrijven?

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Tekst splitsen
« Reactie #7 Gepost op: 24 juni 2015, 22:33:21 »
Hallo,

Zoals in mijn eerste reactie al vermeld is mijn Access-kennis heel erg ondermaats, en had ik je dus enkel een manier aan de hand gedaan om je tekst gesplitst te krijgen : na uitvoeren van mijn code zal je 5 waarden hebben in de variabelen tekst(0) tot tekst(4).
Wat je er daarna mee doet is uiteraard opnieuw Access-materie.

Succes !

Pitufo
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline Fireblade

  • Nieuw lid
  • Berichten: 6
  • Geslacht: Man
  • Oplossing.be
Re: Tekst splitsen
« Reactie #8 Gepost op: 24 juni 2015, 23:12:03 »
Oké Pitufo,

In elk geval bedankt voor je hulp.
Zal kijken of ik ergens anders nog iets kan vinden.

Offline dizzl

  • Ambassadeur
  • *****
  • Berichten: 2.345
  • I've Upped my standards,now,up yours!
Re: Tekst splitsen
« Reactie #9 Gepost op: 25 juni 2015, 20:11:06 »
Pitufo 's  oplossing zal wel werken als
 tekst(0) = Split(tekst, Chr(150)) (0) doet
Die - (ascii =45) wordt niet gevonden, het is een andere min (ascii= 150)of een ander ascii set (zie bijlage)


Systeem  : Intel Core i5-4440 3.1Ghz, 3.1GHz 16Giga Ram 64Bits
Software : Windows 10 professional, Avira, Office 2016 Professional

Offline Fireblade

  • Nieuw lid
  • Berichten: 6
  • Geslacht: Man
  • Oplossing.be
Re: Tekst splitsen
« Reactie #10 Gepost op: 25 juni 2015, 21:06:03 »
dizzl,

bedankt voor je hulp.
heb je voorbeeld database bekeken en geprobeerd in mijn eigen database en het werkt perfect.

Offline dizzl

  • Ambassadeur
  • *****
  • Berichten: 2.345
  • I've Upped my standards,now,up yours!
Re: Tekst splitsen
« Reactie #11 Gepost op: 28 juni 2015, 05:53:51 »
Super dat je liet weten dat het opgelost is.
Systeem  : Intel Core i5-4440 3.1Ghz, 3.1GHz 16Giga Ram 64Bits
Software : Windows 10 professional, Avira, Office 2016 Professional

 


www.combell.com