Hallo

Welkom, Gast. Alsjeblieft inloggen of registreren.

Recent

216 gasten, 0 leden

Welkom, Gast. Alsjeblieft inloggen of registreren.

28 maart 2024, 10:14:11

Login met gebruikersnaam, wachtwoord en sessielengte

Nieuws

Welkom op het vernieuwde NL Computer Forum!

Auteur Topic: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer  (gelezen 28697 keer)

0 leden en 1 gast bekijken dit topic.

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #15 Gepost op: 11 augustus 2010, 14:19:56 »
Hoi Peter,
Die laatste tip had ik al opgevolgd, om eventuele andere invloeden uit te sluiten. Ik zal nog eens een nieuwproject maken met alleen dat ene formulier. Andere zaken uit mijn project kunnen dan niets verzieken.

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #16 Gepost op: 11 augustus 2010, 21:30:52 »
Hoi Peter.
Ik heb een nieuw project gemaakt met 1 formulier met de data control en DBGrid1 erop. De code ingevoerd en het project gedraaid. Zelfde resultaat. Er is dus iets mis met dit grid. Maar waarom dan wel bij dit formulier en grid, maar niet bij een vergelijkbare toepassing. Ik heb op internet echer iets gevonden wat het verklaart. Ik heb door de tijd databases gemaakt in verschillende versies van VB. Nu blijkt dat dit grid niet goed werkt voor oudere versies database zoals ADO. Ik ben de link vergeten, maar het artikel heette Q170163.  Het is dus mogelijk dat dit toevallig een database is van de oudere versie. Ik zal proberen op internet een vervanger voor dit grid te vinden.
 

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #17 Gepost op: 11 augustus 2010, 21:47:43 »
Hoi Jan,

Gelukkig dat deze misery opgelost is.

Citaat
Ik ben de link vergeten, maar het artikel heette Q170163.
Je bedoeld deze pagina?: http://support.microsoft.com/kb/170163/

Citaat
Ik zal proberen op internet een vervanger voor dit grid te vinden.
Is het niet handiger om eenmalig de database aan te passen. Met verschillende soorten databases werken lijkt me nu niet echt makkelijk te onderhouden programma-code op te leveren. :-\


groeten, Peter

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #18 Gepost op: 12 augustus 2010, 01:09:38 »
Hoi Peter,
Ja het is inderdaad handiger met één formaat database te werken, maar ik weet niet hoe er achter te komen wat elke database voor formaat is. Ik heb eens geprobeerd alles te converteren, maar dat was toen geen succes, vanwege het verband tussen Access zoals gebruikt in VB en zoals gebruikt in Microsoft Office Access. Dat gaf toen problemen. En omdat ik verder geen last had van het bestaan van meer dan één formaat heb ik ervan afgezien verder tijd en energie te besteden aan de conversie, te meer waar ik niet wist welke database welk formaat was. (Ik weet echter vrij zeker dat tabel DividendenTab van database Portef1.mdb een ADO-databasetabel is). Een nieuwe database maken en de gegevens overhevelen bracht toen het probleem met zich, dat je gevaar liep de gegevens uit de database te verliezen en omdat deze historische gegevens een cruciale rol spelen in het betreffende programma was ik daar huiverig voor.
Overigens Peter, bedankt voor je vele adviezen. Ik zou er nog graag een krijgen. In bovenstaand artikel Q170163 staat dat in sommige gevallen inderdaad de data niet worden weergegeven en ze bieden daar ook een oplossing voor. Die oplossing heeft te maken met de cursor. Er wordt ook code gegeven om het op te lossen, maar helemaal duidelijk is die oplossing niet voor mij. Ik heb de betreffende code toegevoegd, maar dat geeft een error. Misschien dat het jou wat meer zegt.

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #19 Gepost op: 12 augustus 2010, 12:12:06 »
Hoi Jan,

Ik weet niet welke fout jij krijgt. Deze melding krijg ik:


Dit werkt wel:
Private Sub DataClass_Initialize()
Dim cn, rs

Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
rs.CursorType = adOpenStatic
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.Open "nwind.mdb"               '<-- database naam
rs.Open "customers", cn

End Sub


Peter

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #20 Gepost op: 12 augustus 2010, 13:10:33 »
Hoi Peter,
Ik kreeg inderdaad dezelfde fout als jij. Ik heb jouw verbeterde code geprobeerd, maar krijg fout "User-defined type not defined" op
cn = New.ADOBDB.ConnectionSet, maar weet niet hoe te definiëren. Omdat ik aan gebruik van de data control voldoende heb, heb ik geen ervaring met het zelf programmeren van de database.
 
 
Jan

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #21 Gepost op: 12 augustus 2010, 13:36:46 »
Jan,

Citaat
maar krijg fout "User-defined type not defined"
Heb je deze referentie aan je project toegevoegd?
"Microsoft ActiveX Data Objects 2.8 Library"


Peter

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #22 Gepost op: 12 augustus 2010, 17:45:25 »
Hoi Peter,
Ja die zit in de References.

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #23 Gepost op: 12 augustus 2010, 19:28:52 »
Hmm, het wordt steeds gekker  ::) .
Vervang de sub eens door deze:
Private Sub DataClass_Initialize()
Dim cn, rs

Set cn = CreateObject("ADODB.Connection")
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.Open "nwind.mdb"
Set rs = CreateObject("ADODB.recordset")

rs.Open "customers", cn
End Sub

Dat zou hetzelfde moeten doen. Hoe doet die het?


Peter

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #24 Gepost op: 12 augustus 2010, 20:00:18 »
Hoi Peter,
Deze geeft precies dezelfde fout op dezelfde regel. Ik heb nog geprobeerd het op te lossen door Dim cn uit te breiden tot Dim cn As Connection, maar ook dat helpt niet.
 
 
Groetjes,
 
Jan

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #25 Gepost op: 12 augustus 2010, 20:37:41 »
 :tsja:
Als dit een test-project is, dus zonder verdere database koppelingen, verwijder dan eens de referentie "Microsoft ActiveX Data Objects 2.8 Library".
Sla je project op en sluit VB6 af.
Herstart je computer
Start alleen het VB6 project.
Voeg de referentie weer toe.

Hopelijk scheelt dat.


Peter

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #26 Gepost op: 13 augustus 2010, 12:52:45 »
Hoi Peter,
Dat geeft hetzelfde resultaat.

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #27 Gepost op: 13 augustus 2010, 13:05:10 »
Citaat
Dat geeft hetzelfde resultaat.
:tsja:
Dan weet ik het ook niet meer. Misschien een meelezer.
Probeer je vraag eens op een ander forum, bijv. MSDEVAPPS , MSOFFICE of VBFORUMS.

Mocht je een oplossing hebben, laat het dan even weten.


groeten, Peter


Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #28 Gepost op: 17 augustus 2010, 12:52:37 »
Hoi Peter,
Heb ik gedaan en kreeg het volgende antwoord:
< DBGrid appears to have been intended to work with the long-dead RDO, not ADO. RDO was an old COM wrapper for ODBC that was meant to supplement DAO.

DBGrid's DataSource is an ICursor, not an IRowset. >

Heb de NWind database in jouw code vervangen door de voor dividende toepasselijke database en recordset en ben de Connection-fout nu kwijt zonder dat ik iets anders hier aan veranderd heb, maar krijg nu error 3709 op rs.Open "DividendenTab".

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #29 Gepost op: 17 augustus 2010, 13:36:24 »
Hoi Jan,

Citaat
maar krijg nu error 3709 op rs.Open "DividendenTab"
Staat er wel ", cn" achter die rs.Open opdracht?

Plaats deze regel voor de regel rs.Open "DividendenTab":
rs.ActiveConnection = cn

Peter