Tekst bestanden in VB.net

Status
Niet open voor verdere reacties.

annetiti

Gebruiker
Lid geworden
6 aug 2007
Berichten
195
Bekijk bijlage ArtikelMag.txtHallo

Ik zit met het volgend probleem. Zelf kan ik veel te weinig van VBA.Net.
Via een excel map heb ik gegevens geconverteerd naar een dos txt.bestand.
NU zou ik graag willenweten
- hoe je in VBA.net (versie 2008 gedownload) een sequentieel bestand kan openen zodat ik via een formuliArtikelMag.txter
- een artikelnummer ingeef
- als resultaat een magazijncode terugkrijg.
Het txtbestand bestaat uit 2 velden (veld 1 artikelnr en veld 2 magazijcode)

vb geef je als artikelnr in: 91 707 510
dan krijg je als magazijcode: 1031 terug

Kan iemand mij op weg plaatsen. Ik kan enkel een form maken.
In bijlage het txt bestand
Hartelijk dank
Annetiti
 
Je vraag is alles behalve duidelijk:
Hebben we het hier over VBA of VB.net?
Je zegt ik heb VBA.net versie 2008 gedownload, bedoel je hier niet meer Visual Studio 2008? Waarom overigens niet meteen VS 2010?

Wat is de reden dat je de excel file omzet naar naar een text bestand? Je kan op internet talloze voorbeelden vinden hoe je dat data uit excel haalt.

Voor een voorbeeld om data uit je textfile te lezen: http://rhondatipton.net/2006/10/30/reading-data-from-a-text-file-using-net/
 
VB.net

Hallo
Even verduidelijken. Ik ben niet goed thuis in VB.net en de verschillende versies.

De applikatie dient voor mensen die niet met excel kunnen werken vandaar dat ik graag een .exe bestand zou maken zodat zij enkel een artikelnr moeten invoeren en als resultaat een magazijncode krijgen. Zo ben ik op vb.net gebotst en heb ik versie 2008 gedownload.
Probleem:
Er wordt een tekstbestand aangemaakt met het artikelnr en magazijncode, eigenlijk komt excel niet van pas maar ik ben niet goed thuis in VB.net dus heb ik het opgelost door het sequentieel bestand in excel in te lezen en zo via een database funktie te werken. Dit lukt, toch denk ik dat het eenvoudiger zou zijn om het via vb.net op te lossen. (ik mis me tussen VBA en VB.net). Vandaar mij vraag om hulp of tips.

Ik bekijk even je link. Alvast bedankt en misschien kan je mij nog verder helpen. VB.net is niet zo eenvoudig ...
groeten Annetiti
 
Heb je ook nagedacht hoe je de data actueel gaat houden? Moet het bestand lokaal bij de mensen op de pc komen te staan? En zo ja, hoe ben je van plan bij wijzigingen het bestand bij iedereen up to date te houden? Of komt het bestaand op een netwerkshare te staan?

Zitten de gegevens niet al in een database?
 
Tekstbestand met VB.net

Dag Mark

Dit zou op de server staan. De gegevens zitten in een ander software pakket en kunnen in een tekstbestand geplaatst worden.

Kan je niet verwijzen in VB.net naar de lokatie van dat bestand?

groeten Annetiti
 
Je kan gewoon de locatie van het bestand aanpassen, dus dat is geen probleem. Wilde alleen weten of je daar bij stil had gestaan en of dat er geen mogelijkheid is dit rechtstreeks uit de database van het softwarepakket te halen?
 
Tekstbestanden

Dag Mark

Ik probeer met vallen en opstaan te programmeren in vb.net

groeten
Annetiti
 
Ik zou een array vullen, d.m.v. de ''Split'' methode, en dan met een foreach loop door de array zoeken naar het artikelnummer. Als deze is gevonden, laat het nummer achter het artikelnummer zien. (Volgende nummer in de array)

Split voorbeeldje

(Is voor iets geavanceerdere programmeurs. Misschien kan je hulp vragen van iemand in de buurt die in vb.net/c# kan programmeren.)

Update:
Ik ben een beetje ziekjes vandaag, dus genoeg tijd om het te maken. Dit is het geworden:

Klikkerdeklik!

Stel dat anderen fouten ontdekken, voel je vrij om te verbeteren!
Edit: De foutmelding ''Bestand niet gevonden!'' moet zijn, ''artikelnummer niet gevonden!''
 
Laatst bewerkt:
Hartelijk dank.
Dit is een echt kerstgeschenk.
Ik probeer deze aan te passen naar mijn txt.bestand.

Weet je soms ook of het mogelijk is om excel bestanden .xls te linken met VB.net?

groeten Annetiti
 
Dat is mogelijk, maar zelf heb ik de kennis hier niet voor. Sorry :confused:

Wel heb ik even een foutje ''gefixed'', het was eerst mogelijk om een nummer in te voeren van het magazijn, nu kan je alleen maar artikelnummers invoeren.

Klikkerdeklik!

Edit: Ik zie nu pas dat er een .txt'tje bij zit (bij de OP), ik ga even kijken.
 
Na lang klooien is het eindelijk gelukt, ik verstuur je een Email met het opdrachtje, zodat het niet ''uitgelekt'' ;) wordt.

En voor de mods, sorry voor de dubbele post, maar ik wou even een update melden :o
 
Laatst bewerkt:
Tekst in VB

Dag Captain Bri

We zijn een paar dagen tussenuit geweest. pas vandaag terug.

Ik bekijk je programma na en laat je morgen zeker iets weten.

Nogmaals dank voor al het werk.
groeten Annetiti
 
Hoi Annetiti,

Zou ik het excel-bestandje mogen bekijken, om te proberen om te laten samenwerken met het programma?

En al naar het programma'tje gekeken?

Groeten CaptainBri
 
Dag CaptainBri

Het programma werkt! Hartelijk dank voor de hulp.
In bijlage een klein excel bestandje. Leuk dat je er wilt naar kijken.

Nogmaals hartelijk dank voor de moeite.
AnnetitiBekijk bijlage Anne.zip
 
VB.net

Hartelijk dank.
Mijn probleem is opgelost.
groeten Annetiti
 
Toch wel jammer dat het ineens per mail ging. Bedoeling van het forum is dat iedereen er iets van opsteekt

Ron
 
Met de opmerking van Haaren101 kunnen wij als Helpmij alleen maar achter staan.
 
Oplossing:

Typ boven aan je code, boven ''Public Class Form1'' deze code: Imports System.IO

Voeg dan deze code toe aan een button:
[CPP]'Verander dit (C:\\Users....) naar de directory waar het bestand (.txt) staat.
Dim r As StreamReader = New StreamReader("C:\\Users\\Gebruikersnaam\\Desktop\\bestandjewaaruitgelezenmoetworden.txt")
Dim a() As String
Dim s As String

s = r.ReadToEnd()

a = s.Split(";")

Dim temp As Integer = 0

For Each f As String In a
temp += 1
If f = TextBox1.Text Then
Exit For
Else
If temp = a.Length - 1 Then
MsgBox("Artikelnummer niet gevonden!")
TextBox2.Text = ""
Exit Sub
End If
End If
Next

Try
For i As Integer = 0 To a.Length - 1
If i Mod 2 = 0 Then
If a(i) = TextBox1.Text Then
TextBox2.Text = CStr(a(i + 1))
Exit Sub
End If
End If
Next
Catch ex As Exception
MsgBox("Artikelnummer niet gevonden!")
End Try

r.Close()[/CPP]

Maak dan een bestandje aan (.txt) en voeg de nummers toe als volgt:

Code:
1;100
;2;2589
;3;3980
;4;84908
;5;89321

Zo krijg je als je ''3'' in het programma invoert, ''3980'' weer terug.



Veel plezier ermee :) :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan