[vb] Opslaan tabel

Pagina: 1
Acties:

  • BestTested!
  • Registratie: Oktober 2003
  • Laatst online: 21:39
Goede avond Tweakers,

Ik ben momenteel met een programma bezig waarin werknemers van een bedrijf hun gemaakte uren kunnen opslaan. Het gaat hier vooral om vertegenwoordigers die veel op de weg zitten, daarom is gekozen voor de volgende opzet.

Elke werknemer draait lokaal een database op zijn laptop. Door middel van het programma kunnen zij hun uren registreren. Een export functie in het programma stelt de werknemers in staat hun uren registratie te synchroniseren met hun leidinggevende. Er wordt dan een file aangemaakt die een tabel moet bevatten en deze wordt automatisch gemaild naar hun leidinggevende.

Een groot gedeelte hiervan is al af, rest alleen nog een klein probleem, en dat is de ´opmaak´ van de te genereren file.

Het tricky gedeelte is namelijk dat er een paar text-fields zijn die een hoop data bevatten (richting 128 kb). En deze data bevat leestekens, returns etc. De tekst opmaken door middel van comma-separated of tab-delimited stijlen zijn dus niet mogelijk. Bij het inlezen is er dan geen uniformiteit wat betreft de scheiding tussen de verschillende records/fields.

Wat ideaal zou zijn, is om alle data in een 2-dimenionaal array te zetten, en dan dit hele object te laten opslaan. Zoals Java dat doet met zijn ObjectStreams. Maar voor zover ik weet zit dat niet in VB6.0.

Ik heb een tijdje geleden iets opgevangen over binair (of binary o.i.d was het) wegschrijven van data. Maar wat het precies is en doet is mij niet duidelijk. Mochten jullie zeggen, dat is inderdaad een oplossing, dan zal ik me daar eens op storten.

Met Vriendelijke Groet, BestTested

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:50

gorgi_19

Kruimeltjes zijn weer op :9

En opslaan als een XML-bestand; dat geen optie? Een tijdelijk databestand van 4 MB lijkt me verder ook geen groot probleem.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • nescafe
  • Registratie: Januari 2001
  • Laatst online: 22:04
XML lijkt me ook de beste optie; je kunt zelfs een ADO-stream direct in een XML-file opslaan (en weer openen)

je kunt dan i.p.v. mailen ook een webserver laten draaien en client-side gebruik maken van het xmlhttp-object. dan hoeft de leidinggevende de files ook niet in te lezen.

* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans


  • BestTested!
  • Registratie: Oktober 2003
  • Laatst online: 21:39
nescafe schreef op 13 april 2004 @ 21:15:
XML lijkt me ook de beste optie; je kunt zelfs een ADO-stream direct in een XML-file opslaan (en weer openen)

je kunt dan i.p.v. mailen ook een webserver laten draaien en client-side gebruik maken van het xmlhttp-object. dan hoeft de leidinggevende de files ook niet in te lezen.
XML zeg je. Nog nooit mee gewerkt. Eens moet toch de eerste keer zijn ;) Direct aan een ADO-stream koppelen zou perfect zijn, scheelt mij een hoop werk. Ik ga eens ff lekker op onderzoek uit. (Goede Topics, Manuals, Links mag je natuurlijk mij altijd nog even mededelen)

Ongeveer zelfde probleem Kan je ook nooit vinden met zo'n topicnaam 8)7

  • BestTested!
  • Registratie: Oktober 2003
  • Laatst online: 21:39
Je had gelijk. XML leent zich uitstekend voor dergelijke problemen. Ik zal even snel wat code hieronder posten, mocht iemand anders ook zoiets tegenkomen.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
'Het opslaan van een recordset

Dim Rs as new Recordset
'.....code.....
Rs.Save <FileName.xml>, adPersistXML

'--------------------------------------------------

'Het openen van een recordset

Dim Rs as new Recordset
'......code....
rs.Open <Filename.xml>

Dat is eigenlijk alles. Er wordt netjes een xml'letje gemaakt met alle data. Blijkt toch niet echt zo heel moeilijk te zijn achteraf.