Hallo

Welkom, Gast. Alsjeblieft inloggen of registreren.

Recent

223 gasten, 0 leden

Welkom, Gast. Alsjeblieft inloggen of registreren.

28 maart 2024, 14:11:01

Login met gebruikersnaam, wachtwoord en sessielengte

Nieuws

Welkom op het vernieuwde NL Computer Forum!

Auteur Topic: Connectiefout met database  (gelezen 13364 keer)

0 leden en 1 gast bekijken dit topic.

Offline NLCOMP

  • Forumheld
  • *****
  • Berichten: 14.666
    • NL Computer Forum
Connectiefout met database
« Gepost op: 9 november 2009, 20:28:14 »
Bericht 1 van 11

NL Computer Forum ~ SQL & Programmeren
 Van:ludovdeDatum:17-03-2008
 Aan:AllenMsgID:3782.1
 Onderwerp:Connectiefout met databaseForum:ws-nlcomputer
Ik heb een programma gemaakt in VB5 waarin een bepaald formulier gekoppeld is (Jetengine) aan een tabel uit een Access97 database. In dit formulier gebruik ik dbcomboboxen waarvan de pciklist eveneens gekoppeld is aan een andere tabel in diezelfde database.
Een fout die soms voorkomt bij het openen van het formulier is dat de inhoud van een veld (bestuurd door zulk een DBCombobox) niet getoond wordt (blanco blijft), niettegenstaande het in het verleden ingevuld werd. Bij het doorlopen van de records komt de fout niet voor, enkel als het formulier geopend wordt en dan nog niet altijd.
Aan wat kan dat liggen? Blijkbaar is de connectie niet klaar als het eerste record getoond wordt.
Groeten
Ludo


Bericht 2 van 11

NL Computer Forum ~ SQL & Programmeren
 Van:PeterDatum:17-03-2008
 Aan:ludovdeMsgID:3782.2
 Onderwerp:Connectiefout met databaseForum:ws-nlcomputer
Hoi Ludo,

>>Een fout die soms voorkomt bij het openen van het formulier is dat de inhoud van een veld (bestuurd door zulk een DBCombobox) niet getoond wordt (blanco blijft)<<
Waarschijnlijk wordt de code hiervoor uitgevoerd in de Form_Load event.
Verplaats dit eens naar de Form_Activate event.

Werkt het nu wel?


Groeten, Peter




Bericht 3 van 11

NL Computer Forum ~ SQL & Programmeren
 Van:ludovdeDatum:18-03-2008
 Aan:PeterMsgID:3782.3
 Onderwerp:Connectiefout met databaseForum:ws-nlcomputer
Peter,
Inderdaad stelde ik de database in als ik het formulier oplaadde. Ik heb het nu verplaatst naar de event als het formulier geactiveert wordt. Bij mij thuis had ik evenwel de fout zelden. Het is pas in een netwerk op het werk dat het zich regelmatig manifesteert. Dat kan ik pas vrijdag checken.
Eigenlijk vind ik het niet logisch dat we de database zo laat pas aanroepen. Mijn ervaring van vroeger toen ik nog niet in VB programmeerde leerde me dat alle gegevens best klaar staan (= het formulier inladen) op het ogenblik dat we ze presenteren (= het formulier activeren).
Maar als het daarmee opgelost is heb ik toch weeral iets bijgeleert.
Bedankt alleszins. 
Ik laat nog iets weten.
Ludo


Bericht 4 van 11

NL Computer Forum ~ SQL & Programmeren
 Van:PeterDatum:18-03-2008
 Aan:ludovdeMsgID:3782.4
 Onderwerp:Connectiefout met databaseForum:ws-nlcomputer
>>Het is pas in een netwerk op het werk dat het zich regelmatig manifesteert.<<
Een netwerkkoppeling naar da database kan inderdaad ook een vertraging geven. Het lastige is dat je daar weinig invloed op hebt.
Een mogelijkheid om je programma bij aanvang wat te vertragen en daardoor de formulieropbouw correct te laten verlopen, is om op de netwerkmap eerst een DIR() commando uit te voeren zodat het systeem zogezegd wakker wordt.
Bijvoorbeeld met deze code-regel:
Dim sTemp As String
sTemp = DIR(<volledige map+databasenaam>, VbArchive)

groeten, Peter




Bericht 5 van 11

NL Computer Forum ~ SQL & Programmeren
 Van:ludovdeDatum:01-04-2008
 Aan:PeterMsgID:3782.5
 Onderwerp:Connectiefout met databaseForum:ws-nlcomputer
Peter,
Tot vandaag (01/04) heb ik geen meldingen meer dat er een DBCombobox niet ingevuld werd, sedert ik de aanroep doe vanaf dat het formulier actief wordt. Ik heb er maar direkt ook het Dir-commando aan toegevoegd.
Dus ik denk (ik hoop) dat het met uw raad verholpen is.
Bedankt en tot wederhoren.
Groeten
Ludo


Bericht 6 van 11

NL Computer Forum ~ SQL & Programmeren
 Van:PeterDatum:01-04-2008
 Aan:ludovdeMsgID:3782.6
 Onderwerp:Connectiefout met databaseForum:ws-nlcomputer
>>Tot vandaag (01/04) heb ik geen meldingen meer dat er een DBCombobox niet ingevuld werd<<
Mooi. Bedankt voor de feedback.


Peter




Bericht 7 van 11

NL Computer Forum ~ SQL & Programmeren
 Van:ludovdeDatum:03-04-2008
 Aan:PeterMsgID:3782.7
 Onderwerp:Connectiefout met databaseForum:ws-nlcomputer
Peter,
Het heeft een week goed gelopen. Maar te vroeg gejuicht.
Vandaag zat de fout er weer in. Telkens we het programma opstarten en we het formulier opvroegen, bleek er  een van de velden niet ingevuld te zijn.
Ik heb bijgevolg alle DBcomboxen eens vervangen door textvelden en de fout bleef komen. Het ligt dus niet aan het gebruik van de DBcomboboxen, dat is al zeker.
Voorlopig heb ik dan het volgende gedaan: Als het formulier geopend wordt verschijnt normaal gezien het eerste record. Ik ga in de programmatie dan eerst naar het laatste record, ik wacht 0.2 seconden met een timer en ik ga dan terug naar het eerste record. Als extra heb ik op het formulier een knop 'Refresh" aangebracht zodat het scherm vernieuwd kan worden door de gebruiker.
Ik hoop dat dat zal helpen. Of zie jij nog een oplossing om de synchronisatie vlotter te laten verlopen in een netwerk.
Ik ben in het bezit van VB5 professional edition, zou VB6 professional edition nog ergens te krijgen zijn of een upgrade? Misschien dat ik me dat nog aanschaf, zolang ik met het probleem blijf zitten dat bij ons SP 2 van XP niet mag geïnstalleerd worden, want vanaf dan kan ik mijn pakket Visual Studio 2005 professional edition gebruiken en zijn de meeste problemen opgelost.
 
Groeten
 
Ludo


Bericht 8 van 11

NL Computer Forum ~ SQL & Programmeren
 Van:PeterDatum:03-04-2008
 Aan:ludovdeMsgID:3782.8
 Onderwerp:Connectiefout met databaseForum:ws-nlcomputer
Hoi Ludo,

>>Telkens we het programma opstarten en we het formulier opvroegen, bleek er  een van de velden niet ingevuld te zijn.<<
1 van de velden? Er zijn er dus meer en de anderen worden wel gevuld?
Vreemd. Als de database eenmaal toegankelijk is moeten ze het allemaal goed doen of allemaal niet.
Steeds fout in het hetzelfde veld?

>>Ik ben in het bezit van VB5 professional edition, zou VB6 professional edition nog ergens te krijgen zijn of een upgrade?<<
VB5 gaat t/m Service Pack 3
VB6 gaat t/m Service Pack 6

>>vanaf dan kan ik mijn pakket Visual Studio 2005 professional edition gebruiken en zijn de meeste problemen opgelost.<<
Oh, hoe dat zo?


Peter





Bericht 9 van 11

NL Computer Forum ~ SQL & Programmeren
 Van:ludovdeDatum:04-04-2008
 Aan:PeterMsgID:3782.9
 Onderwerp:Connectiefout met databaseForum:ws-nlcomputer
Peter,
>>Telkens we het programma opstarten en we het formulier opvroegen, bleek er  een van de velden niet ingevuld te zijn.<<
1 van de velden? Er zijn er dus meer en de anderen worden wel gevuld?
Vreemd. Als de database eenmaal toegankelijk is moeten ze het allemaal goed doen of allemaal niet.
Steeds fout in het hetzelfde veld?
Eerst heb ik met MSACCESS97 een database gecreëerd met enkele tabellen (Data, Geslacht, Gemeenten...) 
Het bewuste formulier wordt opgeroepen vanuit een hoofdmenu. 
Het formulier werd opgebouwd op een picturebox zodat ik het formulier naar boven en naar beneden kan scrollen.
Op dit formulier staan:
- 11 textvelden (Naam, voornaam, geboortedatum, omgekeerde geboortedatum ...) rechtstreeks aan de database verbonden via een databox, welke ik dus connecteer bij de event Form_Activate
- 8 DBcomboboxen met verplicht gebruik van de lijst, op zijn beurt gekoppeld is aan een tabel in de database via een databox, welke ik dus connecteer bij de event Form_Activate
- 39 checkboxen rechtstreeks aan de database verbonden via een databox, welke ik dus connecteer bij de event Form_Activate
- 6 imageboxen verbonden via een link met de foto
- enkele drukknoppen voor de bediening van het programma.
Wat we dus zien bij het openen van het formulier, is dat 1 (eigenaardig maar 1 en niet altijd hetzelfde) van de 8 DBComboboxen niet ingevuld wordt. Alle textvelden worden wel ingevuld. Dit is dus te zien omdat het verplichte velden zijn en het programma automatisch rapporteert als er iets fout is, als men het formulier wil verlaten. Over de checkboxen kan ik geen uitsluitsel geven, daar deze niet verplicht zijn.
Zou het iets te maken kunnen hebben met het feit dat ik de database niet met VB maar met Access97 gemaakt heb?
 
>>vanaf dan kan ik mijn pakket Visual Studio 2005 professional edition gebruiken en zijn de meeste problemen opgelost.<<
Oh, hoe dat zo?
Momenteel werkt visual studio 2005 niet omdat op de pc's oa 'framework 2.0' moet staan en dat is een onderdeel van XP SP2. Dit SP 2 mag tot nader order niet geïnstalleerd worden omdat we dan conflicten krijgen met de software van ISLP (Integrated System of Local Police). Men werkt eraan om dit weg te werken.
Groeten
Ludo


Bericht 10 van 11

NL Computer Forum ~ SQL & Programmeren
 Van:PeterDatum:04-04-2008
 Aan:ludovdeMsgID:3782.10
 Onderwerp:Connectiefout met databaseForum:ws-nlcomputer
>>Zou het iets te maken kunnen hebben met het feit dat ik de database niet met VB maar met Access97 gemaakt heb?<<
Nee, als het werken met de database, op dit opstart-euvel na, prima werkt.
Wat als je een one-shot-timer maakt, die gestart wordt in Form_Activate en na pakweg 0.5 seconden een Form.Refresh uitvoerd.


>>Momenteel werkt visual studio 2005 niet omdat op de pc's oa 'framework 2.0' moet staan...<<
Ja, maar waarom zouden dan de meeste problemen zijn opgelost?


Peter
(Warning: Almost out of solutions regarding database problems ;-))



Bericht 11 van 11

NL Computer Forum ~ SQL & Programmeren
 Van:ludovdeDatum:07-04-2008
 Aan:PeterMsgID:3782.11
 Onderwerp:Connectiefout met databaseForum:ws-nlcomputer
Peter,
Wat als je een one-shot-timer maakt, die gestart wordt in Form_Activate en na pakweg 0.5 seconden een Form.Refresh uitvoerd.
Ik ga dat proberen. Ook heb ik nu mijn comdlg32.ocx geupdated naar die van 27/10/2005. SP3 gaf nog een van 1997. Dit ga ik eerst proberen. Ik laat nog iets weten.
>>Momenteel werkt visual studio 2005 niet omdat op de pc's oa 'framework 2.0' moet staan...<<
Ja, maar waarom zouden dan de meeste problemen zijn opgelost?
Ik denk dat toch, daar we met onze tijd moeten meegaan. Vermoedelijk zullen er wel andere problemen ontstaan, maar dat zien we dan wel.
Groeten
 
Ludo