[VB] Acces blijven aanroepen als VB gecompileerd

Pagina: 1
Acties:

  • BSeB
  • Registratie: Juni 2001
  • Laatst online: 22-09-2025
Ik heb een programma geschreven in VB en nu wil ik dat VB programma compileren naar een .exe. Maar bij dit programma hoort een acces database.

Dat programma moet vanaf elke locatie opgestart kunnen worden. In de map van de exe file staat ook de database.

Nu heb ik mijn vb gecompileerd, maar nu kan hij zijn databse niet vinden. Wat moet ik hieraan doen.

Verwijderd

Kijk en zoek eens naar App.Path :)

  • Mir
  • Registratie: Maart 2001
  • Niet online

Mir

Of zorg dat de gebruiker een path kan kiezen en dan in zn register opslaan:


savesetting (app.title, "Settings", "DbasePath", sPath)

getsetting (app.title, "Settings", "DbasePath", app.path)

die laatste app.path is een default voor als getsettings geen gegevens kan vinden...

  • BSeB
  • Registratie: Juni 2001
  • Laatst online: 22-09-2025
Nee, het staat altijd samen in 1 map, maar de directory kan de ene keer:

d:\mijn documenten\visual basic

zijn en de andere keer:

c:\program files\visual basic\programma

Bij beide staat er dan in de map:
visual basic.exe
en
database.mdb

En dus moet hij zelf vinden dat die in die map staat.

En ik wil niet dat ik steeds moet gaan aangeven waar die database staat.

  • Mir
  • Registratie: Maart 2001
  • Niet online

Mir

code:
1
sPath = app.path & "/dbase.mdb"

  • BSeB
  • Registratie: Juni 2001
  • Laatst online: 22-09-2025
JA, okay, ik snap nu dat dat met path moet. Maar ik gebruik ADO, en ik spreek mijn dbase aan dmv automatisch gegenereerde paden, dus waar wil je dat ik dat path neer zet in de code.?!!?

Kheb dit nooit eerder gedaan, werken met dbase dus is dit de eerste keer

  • Mir
  • Registratie: Maart 2001
  • Niet online

Mir

Op zondag 24 februari 2002 16:46 schreef Saiya_Jin_Vegeta het volgende:
JA, okay, ik snap nu dat dat met path moet. Maar ik gebruik ADO, en ik spreek mijn dbase aan dmv automatisch gegenereerde paden, dus waar wil je dat ik dat path neer zet in de code.?!!?

Kheb dit nooit eerder gedaan, werken met dbase dus is dit de eerste keer
ADO:

dat is toch dmv een component?
dan kan je toch de waarde van het component Ado.path = sPath doen ofzo?

*ik weet het ook niet precies hoor..ik deed het altijd via Objects*

  • BSeB
  • Registratie: Juni 2001
  • Laatst online: 22-09-2025
De invulformulieren gaan dmv een add-in, die standaard in vb6 zit

De weergave gebeuren dmv een adodc control obhect

  • BSeB
  • Registratie: Juni 2001
  • Laatst online: 22-09-2025
Verder maak ik ook een connectie dmv een connectie form die je kunt toevoegen aan je project.

Deze heb ik geprobeerd te weizigen maar dan vraagd hij waar de database staat.

Verwijderd

Je kan toch gewoon ADODC1.Connectionstring wijzigen :? Als je de search gebruikt krijg je genoeg voorbeeldjes :)

  • BSeB
  • Registratie: Juni 2001
  • Laatst online: 22-09-2025
Provider=Microsoft.Jet.OLEDB.4.0;Data Source="E:\Mijn documenten\Visual Basic\Diploma Keuze\Diploma's.mdb";Persist Security Info=False

Dit is mijn connection string en ik heb net gezocht en op de msdn site gekeken maar als ik dat had gesnapt had ik nu niet weer wat gepost. Dus wat moet ik dan veranderen in deze regel.

Verwijderd

je kan toch gewoon het grootste stuk kopieren en het harde pad vervangen door "..." & App.Path & "\database.mdb..." :? Dit is wel heeeel basic...

  • Mir
  • Registratie: Maart 2001
  • Niet online

Mir

Op zondag 24 februari 2002 21:36 schreef Saiya_Jin_Vegeta het volgende:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source="E:\Mijn documenten\Visual Basic\Diploma Keuze\Diploma's.mdb";Persist Security Info=False

Dit is mijn connection string en ik heb net gezocht en op de msdn site gekeken maar als ik dat had gesnapt had ik nu niet weer wat gepost. Dus wat moet ik dan veranderen in deze regel.
code:
1
Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & app.path &  "\Diploma's.mdb";Persist Security Info=False
Op zondag 24 februari 2002 21:47 schreef KoenM het volgende:
je kan toch gewoon het grootste stuk kopieren en het harde pad vervangen door "..." & App.Path & "\database.mdb..." :? Dit is wel heeeel basic...
It is..maar we zijn ooit onderaan begonnen remember...
jij en ik snappen de logica achter strings ed...als je 'het' niet ziet is het niet zo makkelijk als je denkt.

kan het weten na 2 thema's les te hebben gegeven op een hogeschool 8-)



[edit]
anti schaam tekentjes neergezet :+

  • BSeB
  • Registratie: Juni 2001
  • Laatst online: 22-09-2025
Nee, dan geeft hij op dat het een onge4ldige bestandsnaam is.

Misschine dat ik iets gruwelijk fout doe.

  • dhonline
  • Registratie: Januari 2001
  • Laatst online: 13-09 12:20
Probeer een te debuggen. (dus met de F8 toets door je code heenlopen) en kijk wat de variable app.path is.

Verwijderd

Op maandag 25 februari 2002 00:12 schreef Mir het volgende:
code:
1
Provider=Microsoft.Jet.OLEDB.4.0;Data Source= app.path &  "\Diploma's.mdb";Persist Security Info=False
Als we toch terug naar 0 gaan, moet dat zijn:
code:
1
ADODC1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & app.path &  "\Diploma's.mdb";Persist Security Info=False

:+
It is..maar we zijn ooit onderaan begonnen remember...
jij en ik snappen de logica achter strings ed...als je 'het' niet ziet is het niet zo makkelijk als je denkt.
Daar heb je natuurlijk wel gelijk aan, maar ik ben voorstander van de 'pak-een-goed-boek' strategie.
Als je niks van VB snapt is dat natuurlijk niet erg, maar ga dan niet zulk soort basic dingen vragen, pak dan eerst een goed boek en verdiep je erin. Mocht het dan niet lukken kan je het natuurlijk best vragen, als je maar duidelijk maakt dat je zelf moeite hebt gedaan.

Een tweede punt: Waarom begin je met een database applicatie als je nog niet met strings kan omgaan |:( Dan maak je het jezelf wel erg moeilijk....

Maar goed, Saiya_Jin_Vegeta, neem dit niet te persoonlijk (het is meer een pleidooi tegen dit soort vragen in het algemeen), pak een goed boek / tutorial, zoek eens op www.pscode.com, en stel dan gerust nog eens een onderbouwde vraag :).

  • Mir
  • Registratie: Maart 2001
  • Niet online

Mir

Op maandag 25 februari 2002 09:56 schreef KoenM het volgende:


:+
*schaam smilie* ...oei :D foutje ;)
Hierbij moet ik idd zeggen dat dit foutje wel erg simpel op te lossen valt..maartoch ;)
Op maandag 25 februari 2002 09:56 schreef KoenM ook nog:

Een tweede punt: Waarom begin je met een database applicatie als je nog niet met strings kan omgaan |:( Dan maak je het jezelf wel erg moeilijk....
Hier geef ik je idd wel gelijk in.
begin eens te leren begrijpen wat
code:
1
2
3
4
5
sEen = "Ik ben een"
sTwee = " samengevoegd"
sDrie = " zinnetje!!!!!!!!"

sAlles = sEen & sTwee & sDrie

doet...

GL topicstarter....


[edit]
even wat overzichtelijker gemaakt

  • BSeB
  • Registratie: Juni 2001
  • Laatst online: 22-09-2025
Op maandag 25 februari 2002 19:53 schreef Mir het volgende:
Hier geef ik je idd wel gelijk in.
begin eens te leren begrijpen wat
code:
1
2
3
4
5
sEen = "Ik ben een"
sTwee = " samengevoegd"
sDrie = " zinnetje!!!!!!!!"

sAlles = sEen & sTwee & sDrie

doet...

GL topicstarter....


[edit]
even wat overzichtelijker gemaakt
Als jullie eens leren eerts je eigen code te testen voor op elkaar te quoten dan zou het ook nog werken :D

Nu doet het het nog steeds niet, heb tot nu toe alleen nog maar foutmeldingen.

Als ik deze regel gebruik:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & app.path & "\Diploma's.mdb";Persist Security Info=False

Dan geeft hij bij de toepassing ervan deze foutmelding:

"De indeling van de initialisatietekenreeks voldoet niet aan de OLE DB-specificatie"

Misschien dat jullie hier iets aan hebben.

En verder wil ik even kwijt dat ik net een compleet database beheringsprogramma heb geschreven. En dat alles perfect werkt, maar dat alleen het compileren niet goed gaat omdat mijn database niet meer aangeroepen kan worden.

Dit wil ik nu veranderen. ;)

  • Mir
  • Registratie: Maart 2001
  • Niet online

Mir

Op dinsdag 26 februari 2002 11:05 schreef Saiya_Jin_Vegeta het volgende:

[..]

Als jullie eens leren eerts je eigen code te testen voor op elkaar te quoten dan zou het ook nog werken :D
dude...ik ga echt niet je hele project nabouwen of een klein beetje...heb wel meer te doen
Op dinsdag 26 februari 2002 11:05 schreef Saiya_Jin_Vegeta het volgende:
Nu doet het het nog steeds niet, heb tot nu toe alleen nog maar foutmeldingen.

Als ik deze regel gebruik:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & app.path & "\Diploma's.mdb";Persist Security Info=False

Dan geeft hij bij de toepassing ervan deze foutmelding:

"De indeling van de initialisatietekenreeks voldoet niet aan de OLE DB-specificatie"

Misschien dat jullie hier iets aan hebben.

En verder wil ik even kwijt dat ik net een compleet database beheringsprogramma heb geschreven. En dat alles perfect werkt, maar dat alleen het compileren niet goed gaat omdat mijn database niet meer aangeroepen kan worden.

Dit wil ik nu veranderen. ;)
Uhmz; als jij dit niet eens kan oplossen zal de rest ook wel niet *D zijn :P
Pagina: 1