Hallo

Welkom, Gast. Alsjeblieft inloggen of registreren.

Recent

213 gasten, 0 leden

Welkom, Gast. Alsjeblieft inloggen of registreren.

28 maart 2024, 17:22:43

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 28699 keer)

0 leden en 1 gast bekijken dit topic.

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Gepost op: 8 augustus 2010, 10:55:35 »
Hallo,
Ik gebruik in een programma 2 databound grids. De ene werkt perfect, toont de inhoud van de beteffende Database tabel, accepteert invoer en update de database daarmee, m.a.w., doet alles wat hij doen moet.
De andere laat de rijen en kolommen met de kolomheaders zien, toont de cursor in de eerste rij, eerste kolom, maar als je gegevens probeert in te voeren gebeurt er niets.
Vergelijken van de eigenschappen etc. tussen beide laat geen verschillen zien: alles is in beide aanwezig. Ik begrjp dan ook niet waarom de ene het wel doet en de andere niet. Ik heb het idee dat ik wat simpels over het hoofd zie, maar heb geen idee wat.  Heeft iemand een idee? De tabel bevat wel degelijk gegevens.

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #1 Gepost op: 8 augustus 2010, 14:05:13 »
Hoi Jan,

Staan beide DBGrid's op hetzelfde formulier?
Je hebt geen extra code toegevoegd mbt tot een vullen/bewerken/waren van de DBGrid, wat je niet meegenomen hebt naar het niet-werkende grid?


Peter

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #2 Gepost op: 8 augustus 2010, 18:23:50 »
Hoi Peter,
Beide grids staan niet op hetzelfde formulier. De code van het niet-werkende grid is in wezen hetzelfde als van het werkende grid, uiteraard met verschillende DBGrid-naam en naam van de DataSource en de data control en ook een ander formulier. Alle Allow-eigenschappen staan op True.
Volgens alle mij bekende beschrijvingen zou het niet-werkende grid het moeten doen en dus alle gegevens uit de database moeten tonen en alle veranderingen daarin via het grid onmiddellijk in de database moete updaten. Althans zo doet het werkende grid het.

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #3 Gepost op: 8 augustus 2010, 18:56:32 »
Jan,

Dus je kan wel iets invoeren, maar het wordt niet bewaard?
Dat houdt in dat de database koppeling niet goed is. De naam van de controls mogen in principe hetzelfde zijn als van het werkende grid. Ze staan immers op een apart formulier en hebben geeen koppeling met het wel werkende DBGrid.

Heb je toevallig de DBGrid gekopieerd en dus ook wat instellingen onbewust overgenomen waardoor het niet werkende DBGrid verwijst naar het origineel?
Gooi dat DBgrid eens weg en begin met een nieuw DBGrid.

Zonder code is het lastig zoeken.


groeten, Peter

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #4 Gepost op: 8 augustus 2010, 20:34:56 »
Peter,
Nee, ik kan niets invoeren. Het grid accepteert geen invoer: er gebeurt niets. Hier is de code. Het bestand verzenden lukt niet. Bij verzenden wordt er .log achter geplakt als extra extensie en daar kom ik niet omheen. Vandaar de code in de tekst. Sorry.
 
Hier is de code die gebruikt wordt:
Dim DividendenMatrix()
Private Sub Command1_Click()
' Opvragen dividendgegevens.
If Aanroep2 = "Followup opties" Then
'    WijzigenDividenden         ' Activeren wanneer gebruikt bij opties.
Else
    datDividenden.Recordset.Edit
    datDividenden.Recordset.Update
    DBGrid2.SetFocus
End If
End Sub
Private Sub Command10_Click()
Call AfdrukkenDividenden(DividendenMatrix(), Teller, TotaalContantDividend, TotaalStockDividendGeld, TotaalStockDividendAantal, TotaalKostenDividend, TotaalDividendBelasting)
End Sub
Private Sub Command2_Click()
' Opslaan in database
On Error GoTo FoutVerwijder
datDividenden.Recordset.Delete
datDividenden.Recordset.MoveNext
' Als het laatste record werd verwijderd, ga naar het vorige record (welke nu het laatste record is).
If datDividenden.Recordset.EOF = True Then
    datDividenden.Recordset.MovePrevious
End If
DBGrid2.SetFocus
Exit Sub
FoutVerwijder:
       Foutbron = Err.Number & " " & Err.Description & " in Verwijder"
       Call frmInvestor.WriteLOG("---< " & App.Title & " geeft >---" & Foutbron)
       Resume Next

End Sub
Private Sub Command3_Click()
 
' Ga naar het laatste record zodat de rij Voeg toe zichtbaar wordt.
datDividenden.Recordset.MoveLast
' Verplaats de cursor naar rij Voeg toe.
DBGrid2.row = DBGrid2.row + 1
DBGrid2.SetFocus
End Sub
Private Sub Command4_Click()
' Eerste dividendregel
datDividenden.Recordset.MoveFirst
DBGrid2.SetFocus
 
End Sub
Private Sub Command5_Click()
' Volgende dividendregel.
datDividenden.Recordset.MoveNext
' Houd het current record weg van EOF, wat geen geldige positie is.
If datDividenden.Recordset.EOF = True Then
    datDividenden.Recordset.MovePrevious
End If
DBGrid2.SetFocus
End Sub
Private Sub Command6_Click()
' Vorige dividendregel
datDividenden.Recordset.MovePrevious
' Houd het current record weg van BOF, wat geen geldige positie is.
If datDividenden.Recordset.BOF = True Then
    datDividenden.Recordset.MoveNext
End If
DBGrid2.SetFocus
End Sub
Private Sub Command7_Click()
datDividende.Recordset.MoveLast
DBGrid2.SetFocus
End Sub
Public Sub AnalyseDividenden()
Dim Teller As Integer
ReDim DividendenMatrix(1000, 22)
Dim TotaalContantDividend, TotaalStockDividendGeld, TotaalStockDividendAantal, TotaalKostenDividend, TotaalDividendBelasting
Teller = 1
datDividenden.Recordset.MoveFirst
Do While datDividenden.Recordset.EOF = False
    If datDividenden.Recordset("ContantDividend") > 0 Or datDividenden.Recordset("StockDividendGeld") <> 0 Or datDividenden.Recordset("StockDividendAantal") <> 0 Then
        DividendenMatrix(Teller, 1) = datDividenden.Recordset("Symbool")
        If IsNull(datDividenden.Recordset("NaamAandeel")) Then
                datDividenden.Recordset.Edit
                datDividenden.Recordset("NaamAandeel") = datDividenden.Recordset("Symbool ")
                datDividenden.Recordset.Update
        End If
        DividendenMatrix(Teller, 2) = datDividenden.Recordset("NaamAandeel")
        DividendenMatrix(Teller, 3) = datDividenden.Recordset("ContantDividend")
        DividendenMatrix(Teller, 4) = datDividenden.Recordset("StockDividendGeld")
        DividendenMatrix(Teller, 5) = datDividenden.Recordset("StockDividendAantal")
        DividendenMatrix(Teller, 6) = datDividenden.Recordset("DatumContantDividend")
        DividendenMatrix(Teller, 7) = datDividenden.Recordset("DatumStockDividendAantal")
        DividendenMatrix(Teller, 8) = datDividenden.Recordset("DatumStockDividendGeld")
        DividendenMatrix(Teller, 9) = datDividenden.Recordset("KostenDividend")
        DividendenMatrix(Teller, 10) = datDividenden.Recordset("Dividendbelasting")
        Teller = Teller + 1
        datDividenden.Recordset.MoveNext
    Else
        datDividenden.Recordset.MoveNext
    End If
Loop
Teller = Teller - 1
' Nulstellen van Null-items
For i = 1 To Teller
    For j = 1 To 21
        If IsNull(DividendenMatrix(i, j)) Then
            DividendenMatrix(i, j) = 0
        End If
    Next j
Next i
' Totaliseren van contant dividend, stockdividend in aantal en stockdividend in geld.
For i = 1 To Teller
    TotaalContantDividend = TotaalContantDividend + DividendenMatrix(i, 3)
    TotaalStockDividendAantal = TotaalStockDividendAantal + DividendenMatrix(i, 4)
    TotaalStockDividendGeld = TotaalStockDividendGeld + DividendenMatrix(i, 5)
    TotaalKostenDividend = TotaalKostenDividend + DividendenMatrix(i, 9)
    TotaalDividendBelasting = TotaalDividendBelasting + DividendenMatrix(i, 10)
Next i
End Sub
Private Sub Command8_Click()
' Sluiten van scherm Invoeren dividenden
    frmOntvangenDividenden.Hide
End Sub
Public Sub AfdrukkenDividenden(DividendenMatrix(), Teller, TotaalContantDividend, TotaalStockDividendAantal, TotaalStockDividendGeld, TotaalKostenDividend, TotaalDividendBelasting)
 
Printer.Orientation = 2
Printer.FontName = "Courier New"
Printer.FontSize = 8
TotaalDividend = TotaalContantDividend + TotaalStockDividend + TotaalStockDividendGeld - TotaalKostenDividend - TotaalDividendBelasting
frmInvestor.ResultsT.Text = frmInvestor.ResultsT.Text & "Naam Fonds" & Space(3) & "Contant" & Space(2) & "Stockdivi-" & Space(2) & "Stockdivi-" & Space(4) & "Kosten" & Space(2) & "Dividendbe-" & Space(2) & vbCrLf
frmInvestor.ResultsT.Text = frmInvestor.ResultsT.Text & Space(13) & "Dividend" & Space(2) & "dend geld" & Space(2) & "dend aantal" & Space(3) & "Dividend" & Space(1) & "lasting" & vbCrLf
For i = 1 To Teller
     frmInvestor.ResultsT.Text = frmInvestor.ResultsT.Text & DividendenMatrix(i, 2) & Space(10 - Len(DividendenMatrix(i, 2))) & Format((Format((DividendenMatrix(i, 3)), "#0.00")), "@@@@@@@@@") & Space(1) & Format(Format(DividendenMatrix(i, 4), "#0.00"), "@@@@@@@@") & Space(3) & Format(Format(DividendenMatrix(i, 5), "#0"), "@@@@@@@@") & Space(6) & Format(Format(DividendenMatrix(i, 9), "#0.00"), "@@@@@@@@") & Space(1) & Format(Format(DividendenMatrix(i, 10), "#0.00"), "@@@@@@@@") & vbCrLf
Next i
frmInvestor.ResultsT.Text = frmInvestor.ResultsT.Text & vbCrLf
frmInvestor.ResultsT.Text = frmInvestor.ResultsT.Text & "Totaal contant dividend" & Space(32 - Len("Totaal contant dividend")) & Format(Format(TotaalContantDividend, "#0.00"), "@@@@@@@@") & vbCrLf
frmInvestor.ResultsT.Text = frmInvestor.ResultsT.Text & "Totaal stockdividend geld" & Space(32 - Len("Totaal stockdividend geld")) & Format(Format(TotaalStockDividendGeld, "#0.00"), "@@@@@@@@") & vbCrLf
frmInvestor.ResultsT.Text = frmInvestor.ResultsT.Text & "Totaal stock dividend aantal" & Space(32 - Len("Totaal stockdividend aantal")) & Format(Format(TotaalStockDividendAantal, "#0"), "@@@@@@@@") & vbCrLf
frmInvestor.ResultsT.Text = frmInvestor.ResultsT.Text & "Totaal kosten dividend" & Space(32 - Len("Totaal kosten dividend")) & Format(Format(TotaalKostenDividend, "#0.00"), "@@@@@@@@") & vbCrLf
frmInvestor.ResultsT.Text = frmInvestor.ResultsT.Text & "Totaal dividendbelasting" & Space(32 - Len("Totaal dividendbelasting")) & Format(Format(TotaalDividendBelasting, "#0.00"), "@@@@@@@@") & vbCrLf
frmInvestor.ResultsT.Text = frmInvestor.ResultsT.Text & "Totaal dividend" & Space(32 - Len("Totaal dividend")) & Format(Format(TotaalDividend, "#0.00"), "@@@@@@@@") & vbCrLf
End Sub

Private Sub Command9_Click()
AnalyseDividenden
End Sub
Private Sub Form_Load()
datDividenden.DatabaseName = frmInvestor.ext(App.Path) & "DATABASE\Portef1.mdb"
datDividenden.RecordSource = "DividendenTab"
datDividenden.Visible = False
End Sub

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #5 Gepost op: 9 augustus 2010, 11:37:00 »
Jan,

Citaat
datDividenden.RecordSource = "DividendenTab"
Weet je zeker dat dit klopt?
Is deze property ingesteld: DbGrid2.DataSource = datDividenden


Peter

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #6 Gepost op: 9 augustus 2010, 17:38:57 »
Hoi Peter,
Ja, ik weet absoluut zeker dat deze instelling is aangebracht. Ik heb het voor de zekerheid nogmaals gecontroleerd. Juist omdat dit klopt begrijp ik niet dat hij het niet doet.

Offline Peter

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

Citaat
Juist omdat dit klopt begrijp ik niet dat hij het niet doet.
Dat begrijp ik dan ook niet.
Dan moet de huidige database toch ingelezen en getoond worden.
Door de property datDividenden.ReadOnly  op True te zetten is de database alleen te lezen en niet te bewerken. Standaard staat die op False.
Vul eens de absolute mapnaam in de Form_Load() event.

  Wat ik gedaan heb is een nieuw formulier gemaakt met daarin een standaard Data en DBGrid control.
Link in de IDE het DBGrid control aan het Data control middels DBGrid1.DataSource = Data1
De enige code die uitgevoerd wordt is de Form_Load event zoals je gegeven hebt:
Private Sub Form_Load()
Data1.DatabaseName = frmInvestor.ext(App.Path) & "DATABASE\Portef1.mdb"
Data1.RecordSource = "DividendenTab"
End Sub

Kun je eens hetzelfde doen. Dan zou het toch moeten werken.


groeten, Peter
 

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #8 Gepost op: 10 augustus 2010, 19:49:24 »
Hoi Peter,
Er komt iets meer duidelijkheid in de zaak. Ik heb net als jij de oude frmOntvangenDividenden
uit het project verwijderd en er een nieuw formulier aan toegevoegd met daarin de data control datDividenden en DBGrid2 (2 omdat in mijn project 1 al in gebruik is) + in de Form_Load de DatabaseName en de RecordSource. Op jouw code DBGrid2.DataSource = datDividenden krijg ik een fout "identifier required. No compatible data source was found for this control. Add MS ADO Data Control to your project" met als toelichting "Je krijgt deze fout als je probeert een nieuw complex bound control te binden aan een oude data source of vice versa." 
Ik heb toen in Project/Components Microsoft ADO Data Control 6.0 aangevinkt en het programma-onderdeel opnieuw gedraaid, maar het probleem was niet opgelost. Ik dacht dat ik deze data control al eerder aangevinkt had, te meer daar DBGrid1 van Portefeuille geen fout gaf.  Maar misschien moet er eerst opnieuw opgestart worden, wat ik nu ga doen en kom dan hier terug.

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #9 Gepost op: 10 augustus 2010, 20:01:17 »
Peter,
Ik heb het project gesaved en de computer opnieuw opgestart, maar hij blijft vragen om MS ADO datacontrol of MS Data Environment toe te voegen, maar deze staan aangevinkt, dus zijn al aanwezig.  Hoe nu verder?

Offline Peter

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

Citaat
data control datDividenden en DBGrid2 (2 omdat in mijn project 1 al in gebruik is)
Als DBGrid1 alleen binnen het hoofdformulier bekend is, mag elk ander formulier ook gewoon een DBGrid1 control bevatten.
Dus, frmA.DBGrid1 en frmB.DBGrid1 is geen enkel probleem.
Dat geldt voor alle soorten controls trouwens.

Citaat
Op jouw code DBGrid2.DataSource = datDividenden krijg ik een fout
Vreemd. Waarom werkt het dan wel op je andere formulier en kreeg je deze fout niet eerder?
Bijgevoegd 2 plaatsjes van de VB6 IDE zoals ik dat hier heb voor jouw project-test.






Peter

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #11 Gepost op: 11 augustus 2010, 10:58:08 »
Hoi Peter,
Ik had deze instellingen al op één na, ik had OLE Automation nog niet, maar nu wel. Maar hij doet het nog steeds niet. Het gekke is echter dat ik, ondanks dat ik die niet zelf handmatig ingesteld heb, alle velden met naam in het grid heb. Dit betekent dus dat er wel verbinding met de database is, want daar zullen ze aan ontleend zijn. Alleen het invoeren van gegevens lukt niet, ondanks dat het geen read-only is.

Offline Peter

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

De database heb je toevallig niet al ergens anders in Exclusive mode geopend?
Kun je wel met de muis of pijltjestoetsen velden selecteren in het DBGrid ?

Controleer deze properties:
With DBGrid2
   .AllowUpdate = True
   .DataMode = 0 - Bound
   .DataSource = datDividenden
   .Enabled = True
End With

With datDividenden
   .Connect = Access 2000;
   .DefaultType = 2 - UseJet
   .Enabled = True
   .Exclusive = False
   .Options = 0
   .ReadOnly = False
   .RecordsetType = 1 - Dynaset
End With

Als bovenstaande geen verbetering geeft, open dan eens de projectfile (het .VBP bestand) met Notepad. Post alle regels die beginnen met "Reference=" en "Object="


Peter

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #13 Gepost op: 11 augustus 2010, 13:30:20 »
Hoi Peter,
Ik heb de database niet ergens anders in Exclusive mode geopend. Ik kan wel met de muis en met de pijltjestoetsen van het ene naar het andere vakje gaan, maar als ik iets typ gebeurt er niets. Alle properties die je opgaf zijn correct. Daarom hier de .vbp-regels met "Reference = " en "Object = ".
Reference=*\G{ECDCAED1-6F9C-11D0-B4D0-00A0C911E8B6}#1.0#0#E:\vb5\visdata.exe#VisData Database Utility
Reference=*\G{BE83C60B-9BCA-41FD-9972-CEC06B92E3E9}#2d.0#0#C:\WINDOWS\system32\HoadleyCBOE.dll#HoadleyCBOE
Reference=*\G{124FFB65-E4DB-11D5-89B6-444553540000}#421.0#0#C:\WINDOWS\system32\HoadleyOptionsAddin.dll#HoadleyOptionsAddin
Reference=*\G{00025E01-0000-0000-C000-000000000046}#5.0#0#C:\Program Files\Common Files\Microsoft Shared\DAO\dao360.dll#Microsoft DAO 3.6 Object Library
Reference=*\G{976092BA-719D-4A0F-B088-075933FFA852}#1.0#0#..\..\..\EViews7\EViewsMgr.dll#EViews 1.0 Type Library
Reference=*\G{27796B34-A6F1-4203-895D-EFA9AF2FEF29}#1.0#0#..\..\..\EViews7\EViewsOleDbProvider.dll#EViewsOleDbProvider 1.0 Type Library
Reference=*\G{2A75196C-D9EB-4129-B803-931327F72D5C}#2.8#0#C:\Program Files\Common Files\system\ado\msado15.dll#Microsoft ActiveX Data Objects 2.8 Library
Reference=*\G{C0E45030-5775-11D0-B388-00A0C9055D8E}#1.0#0#C:\Program Files\Common Files\designer\MSDE.DLL#Microsoft Data Environment 1.0
Reference=*\G{B257B8C0-84F6-11D0-B3B0-00A0C9055D8E}#1.0#0#C:\Program Files\Common Files\designer\DEEXT.TLB#Microsoft Data Environment Extensibility Objects 1.0
Object={00025600-0000-0000-C000-000000000046}#5.2#0; Crystl32.OCX
Object={5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0; MSFLXGRD.OCX
Object={F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0; comdlg32.ocx
Object={97304F10-8DA9-11D1-8C48-0080C83EC00F}#1.0#0; graphdtc.ocx
Object={2601F9E0-5409-11D5-89B6-0050DAC5F536}#3.2#0; HoadleyCalendar.ocx
Object={E2D94FA3-F1C9-11D4-B10C-00508B128EF5}#1.0#0; OptiGA.ocx
Object={827E9F53-96A4-11CF-823E-000021570103}#1.0#0; graphs32.ocx
Object={CDE57A40-8B86-11D0-B3C6-00A0C90AEA82}#1.0#0; MSDatGrd.ocx
Object={00028C01-0000-0000-0000-000000000046}#1.0#0; DBGRID32.OCX
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; mscomctl.OCX
Object={86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0; mscomct2.ocx
Object={A8B3B723-0B5A-101B-B22E-00AA0037B2FC}#1.0#0; GRID32.OCX
Object={BEC61919-E6C4-11D1-BE7D-C63815000000}#1.0#0; FLEXWIZ.OCX
Object={0842D103-1E19-101B-9AAF-1A1626551E7C}#1.0#0; GRAPH32.OCX
Object={67397AA1-7FB1-11D0-B148-00A0C922E820}#6.0#0; MSAdoDc.ocx

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: DBGrid1 toont kolommen zonder inhoud, maar accepteert geen invoer
« Reactie #14 Gepost op: 11 augustus 2010, 13:45:41 »
Jan,

Citaat
Ik kan wel met de muis en met de pijltjestoetsen van het ene naar het andere vakje gaan, maar als ik iets typ gebeurt er niets.
Vreemd. De referenties en Objects zijn precies hetzelfde.
Als je geen extra code op je formulier hebt staan dat invoer controleerd of vergrendelt, dan weet ik het ook niet meer.
De enigste tip is nog: begin met een nieuw kaal formulier, zet daarin alleen de Data en DBGrid control en de 2 regels in de Form_Load event om de DBGrid te vullen.


Peter