[vb6] Datagrid leeg eerste record :?

Pagina: 1
Acties:

  • Apen-nootjes
  • Registratie: September 2001
  • Laatst online: 03-04-2025

Apen-nootjes

aka Apen-klootjes

Topicstarter
Het zal wel een heel simpel iets zijn ofzo dat ik er niks over kan vinden op internet 8)7 en GoT maar ik wordt er nu een beetje simpel van...

Ik heb een Datagrid op m'n formulier staat die door een Ado control gekoppeld staat aan een database.. Is allemaal heel leuk en werkt ook gewoon alleen wordt het eerste record van de tabel zegmaar automatisch leeg gemaatk 8)7 terwijl dat dus niet de bedoeling is...

Afbeeldingslocatie: http://vincent.stoomgroepholland.nl/vb.jpg

Op die lege plek links bovenaan hoort dus eigenlijk 200 te staan maar dit is weggehaald door de datagrid :? En doordat hij mag updaten naar de database toe wordt dat dus ook in de database weggehaald :(

Nu kan ik natuurlijk wel gewoon het vinkje bij Enabled weghalen maar dan kan ik geen gegevens meer veranderen in het grid...

Het is dus zegmaar de bedoeling dat als ik pas op een record klik het gelijk weg gaat en niet standaard het eerste record :)

Snapt iemand het nog ?? zo ja... please help want ik wordt hier een beetje gaar van...

Dit is trouwens de code om de database in te laden:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
    'De connectie met de database maken
        Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data 
Source=c:\CaseWebtime\CaseWebtime.mdb;Persist Security Info=True;" & "Jet OLEDB:
Database Password=" & strDBPass & ""
        Adodc1.RecordSource = "SELECT * FROM Klant"

        Adodc1.Refresh
        
    'De records sorteren
        Adodc1.Recordset.Sort = "KlantNr ASC"
        
    'Neerzetten hoeveel records we in totaal hebben
        Totaal.Caption = "totaal aantal klanten: " & Adodc1.Recordset.RecordCount

Die hele regel als connection string natuurlijk op 1 regel alleen vondt de lay-out dat niet zo leuk :+

[ Voor 88% gewijzigd door Apen-nootjes op 03-05-2004 22:13 ]

SmartDoDo: Ach, afhankelijk van je smaak kan het best een lekker geil ding zijn :P
You never had a date you couldn't inflate


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
Naar mijn idee moet je ado controls vermijden als je query moeilijker is dan een simpele select op 1 tabel. Ze zijn gewoon te buggy en promoten een onbegrijpelijk applicatieontwerp.

Nb, volgens mij heeft het iets te maken met het feit dat de query dynamisch wordt toegewezen ipv @design time.

[ Voor 24% gewijzigd door farlane op 03-05-2004 23:22 ]

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Verwijderd

Raar probleem, ik zou zo geen oplossing weten. En in zo'n geval val ik terug in "What the heck, let's try this" mode.

Wat ik zou proberen :
- De sortering al in je Selectstatement zetten ( dus een "order by klantnr" toevoegen )
- Kijken of het grid een refresh-method heeft...
- Mijn haren uit mijn hoofd trekken 8)7

[edit] typos

[ Voor 9% gewijzigd door Verwijderd op 04-05-2004 01:12 ]


  • Max|Burn
  • Registratie: Augustus 2001
  • Laatst online: 26-04 09:18

Max|Burn

-- .. ... .--- .- .-.-.-

@farlane met Datagrids kan je nog aardig wat doen hoor, werkt best vlot :)
doh: edit, je had het over ado controls, inderdaad vermijden :D gebruik ze zelf ook niet.
Op die lege plek links bovenaan hoort dus eigenlijk 200 te staan maar dit is weggehaald door de datagrid En doordat hij mag updaten naar de database toe wordt dat dus ook in de database weggehaald
Dit geeft al aan dat je klantnr niet uniek is / geen key is, beetje vreemd als je het mij vraagt. Het is misschien niet de oorzaak maar toch vreemd, ik heb redelijk wat met datagrids gewerkt maar dit niet eerder gezien :? Je heb een stukje code gemaakt die het klantid sloopt..?
Het is dus zegmaar de bedoeling dat als ik pas op een record klik het gelijk weg gaat en niet standaard het eerste record
Wat bedoel je daar mee ? Wat gaat weg ? :)

[ Voor 111% gewijzigd door Max|Burn op 04-05-2004 09:40 ]

ma ma ma ma ma macron one


Verwijderd

Zou dat niet te maken hebben met het feit dat je eerst je Adodc1 refresht en daarna sorteert?

Doe eens die sort in je query en vul dan pas de Adodc1...het is het proberen waard. Gebruik zelf NOOIT die datacontrols ;)......

Zelf gebruik ik altijd de flexgrid (hierarchial) en die werkt perfecto....recordsetje ophalen en vullen in de flexgrid met "set mshflexgrid1.datasource = objRs"

BTW....waarom toon je het klantnummer, het is gewoon een autonum veld waarschijnlijk...daar mogen ze toch niet aankomen?

[ Voor 15% gewijzigd door Verwijderd op 04-05-2004 09:59 ]


  • Apen-nootjes
  • Registratie: September 2001
  • Laatst online: 03-04-2025

Apen-nootjes

aka Apen-klootjes

Topicstarter
MaxBurn schreef op 04 mei 2004 @ 09:30:
@farlane met Datagrids kan je nog aardig wat doen hoor, werkt best vlot :)
doh: edit, je had het over ado controls, inderdaad vermijden :D gebruik ze zelf ook niet.
Hoe doe je het dan zonder ado controls ?? ben een beeje n00b op dit gebied dan :X
[...]

Dit geeft al aan dat je klantnr niet uniek is / geen key is, beetje vreemd als je het mij vraagt. Het is misschien niet de oorzaak maar toch vreemd, ik heb redelijk wat met datagrids gewerkt maar dit niet eerder gezien :? Je heb een stukje code gemaakt die het klantid sloopt..?
Het is wel een unieke sleutel... alleen begint deze niet bij 1 maar bij 200 :) Maar ik heb die code niet geschreven... Die datagrid haalt gewoon standaard de data die in het eerste record staat weg :)
[...]
Wat bedoel je daar mee ? Wat gaat weg ? :)
De data die in dat vakje staat zodat er wat anders kan komen te staan :)
Verwijderd schreef op 04 mei 2004 @ 09:57:
Zou dat niet te maken hebben met het feit dat je eerst je Adodc1 refresht en daarna sorteert?

Doe eens die sort in je query en vul dan pas de Adodc1...het is het proberen waard. Gebruik zelf NOOIT die datacontrols ;)......

Zelf gebruik ik altijd de flexgrid (hierarchial) en die werkt perfecto....recordsetje ophalen en vullen in de flexgrid met "set mshflexgrid1.datasource = objRs"

BTW....waarom toon je het klantnummer, het is gewoon een autonum veld waarschijnlijk...daar mogen ze toch niet aankomen?
Je kan de data pas sorteren zodra deze ingeladen is in de Ado control :) Dus kan pas als de ado control gerefreshed is :(

Een flexgrid... noooit mee gewerkt ;) Maar is het proberen waard :)

Klantnummer moeten ze inderdaad niet aan kunnen komen :X heb je helemaal gelijk in... Is nog proef dit programma en dat soort dingen zouden er later wel uitgekomen zijn ;)

SmartDoDo: Ach, afhankelijk van je smaak kan het best een lekker geil ding zijn :P
You never had a date you couldn't inflate


  • Lorn
  • Registratie: Maart 2000
  • Laatst online: 13-01-2025

Lorn

I have a bad feeling...

apen-nootjes schreef op 04 mei 2004 @ 19:40:
[...]


Je kan de data pas sorteren zodra deze ingeladen is in de Ado control :) Dus kan pas als de ado control gerefreshed is :(
Je kan ook je SQL query aanpassen zodat de data al gesorteerd wordt opgehaald uit de database...

  • Max|Burn
  • Registratie: Augustus 2001
  • Laatst online: 26-04 09:18

Max|Burn

-- .. ... .--- .- .-.-.-

Ik zie nog steeds geen antwoord op het feit dat het zo te zien mogelijk is om KlantID te verwijderen...met een gedegen database structuur kan dit helemaal niet...
Sorteren kan idd ook met een order by...

ma ma ma ma ma macron one


Verwijderd

Lorn schreef op 05 mei 2004 @ 12:07:
[...]

Je kan ook je SQL query aanpassen zodat de data al gesorteerd wordt opgehaald uit de database...
Dat bedoelde ik dus ;) hehe maar goed, werken met die voorgebakken controls vraagt volgens mij om problemen.

Maak eens een nieuw formulier aan en voeg daar een dataGrid aan toe.

Vervolgens declareer je het volgende
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Dim blnDataShape as boolean
Dim objRs As ADODB.Recordset
Dim objConn As ADODB.Connection
Dim UserID As String
Dim Passwd As String
Dim Database As String
Dim Server As String
Dim strProvider As String

    If blnDataShape = True Then
        strProvider = "MSDataShape;Data Provider=SQLOLEDB.1"
    Else
        strProvider = "SQLOLEDB"
    End If
   
    'geef hier je overige variabelen op om de verbindingsstring tot stand te brengen

    strConnect = "Provider=" & strProvider & ";Data Source=" & Server & ";Database=" & _
        Database & ";UID=" & UserID & ";PWD=" & Passwd & ";"
    Set objConn = New ADODB.Connection
    With objConn 
      .ConnectionString = strConnect
      .ConnectionTimeout = 30
      
      .Open
      If .State <> adStateOpen Then
        .Close
        Set objConn = Nothing
        On Error GoTo 0
        MsgBox "Verbinding mislukt, reden onbekend!"
        Exit Sub
      End If
      .Close
    End With
    Set objRs = New ADODB.Recordset
    With objRs
      .ActiveConnection = cnxDataBase
      .CursorLocation = adUseClient
      .CursorType = adOpenDynamic 
      .LockType = adLockBatchOptimistic
      .Source = "SELECT * FROM jouwTabel"
      .Open
    End With

objRs.Close
objConn.Close
Set jouwDataGrid.DataSource = objRs

Set objRs = Nothing
Set objConn = Nothing


En klaar ben je. Vervolgens verberg je kolom 0 door de width property op 0 te zetten en definieer je alle subs om records te zoeken, bij te werken en weet ik veel wat nog meer.... ;)

[ Voor 8% gewijzigd door Verwijderd op 05-05-2004 12:22 ]


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
MaxBurn schreef op 05 mei 2004 @ 12:08:
Ik zie nog steeds geen antwoord op het feit dat het zo te zien mogelijk is om KlantID te verwijderen...met een gedegen database structuur kan dit helemaal niet...
Sorteren kan idd ook met een order by...
Waarom zou je een klantid niet kunnen verwijderen ? Met een cascade delete verwijder je ook alle data die er aan hangt.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Apen-nootjes
  • Registratie: September 2001
  • Laatst online: 03-04-2025

Apen-nootjes

aka Apen-klootjes

Topicstarter
Ok :) ben het flexgrid gaan gebruiken :) Dit ziet er een stuk beter uit :)

Alleen nu heb ik van allerlei code bij elkaar kunnen rapen dat de data ingeladen wordt en dat ik de data kan veranderen in het flexgrid.. alleen kan ik nergens vinden hoe ik dan de data die veranderd is weer terug kan saven naar de database :'( Kan iemand helpen ?

Dit is wat ik tot nu toe heb:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
Public CnA As ADODB.Connection

Private Sub Form_Load()

Dim strPathToDB As String
Dim RsA As ADODB.Recordset
   Dim Table As String
   Dim sSQL As String

      On Error GoTo Foutafhandeling
   
      'Locatie van database opgeven
      strPathToDB = "c:\CaseWebtime\CaseWebtime.mdb"
 
      'Connectie naar database maken
      Set CnA = New ADODB.Connection
      
      With CnA
         .CursorLocation = adUseClient
         .Mode = adModeShareDenyNone
         .Provider = "Microsoft.Jet.OLEDB.4.0"
         .ConnectionString = strPathToDB
         .Open
      End With
      
      Err.Clear
       
      If CnA.State = adStateClosed Then
         MsgBox "Geen verbinding naar de database", vbCritical, "Let op!!"
         Exit Sub
      End If
      
      Set RsA = New ADODB.Recordset
      
      'Tabel aangeven
      Table = "Klant"
      
      'Recordset laden
      sSQL = "Select * From " & Table & " ORDER BY Postcode DESC"
      With RsA
         .CursorType = adOpenKeyset
         .LockType = adLockReadOnly
         .ActiveConnection = CnA
         .Open sSQL
      End With
   
      'anzeigen in Flexgrid
      FlexFillFromRs RsA, MSFlexGrid1
      
      MSFlexGrid1.Visible = True
      
      'Recordset schliessen, Speicher freigeben
      RsA.Close
      Set RsA = Nothing
      Err.Clear
      Exit Sub
      
Foutafhandeling:
      MsgBox "Fout: " & Err.Number & vbCrLf & _
             Err.Description, vbCritical
      Err.Clear
End Sub
 
Public Function FlexFillFromRs(Rs As ADODB.Recordset, _
                               Flex As MSFlexGrid)
'Inhalt Recordset in einem Flexgrid darstellen
   Dim i As Long
   Dim j As Long
   Dim breit As Single
      
      With Flex
         'neuzeichnen unterdrücken
         .Redraw = False
         .AllowBigSelection = True
         .AllowUserResizing = flexResizeBoth
         .Appearance = flex3D
         .FocusRect = flexFocusNone
         .FixedRows = 0
         .FixedCols = 1
         'Anzahl Spalten festlegen
         .Cols = Rs.Fields.Count
         'Header beschriften
         'For i = 0 To Rs.Fields.Count - 1
            '.TextMatrix(0, i) = Rs.Fields(i).Name
         'Next
         'Anzahl der Zeilen festlegen
         .Rows = .FixedRows + Rs.RecordCount + 1 '.FixedRows +
                                                      
         'Flex mit Daten füllen
         Do While Not Rs.EOF
            'RecordNummer = Nummer Zeile/Row
           i = Rs.AbsolutePosition - 1
            For j = 0 To Rs.Fields.Count - 1
               'Abfrage auf NULL
               If Not IsNull(Rs.Fields(j).Value) Then
                  .TextMatrix(i, j) = Rs.Fields(j).Value
               End If
            Next
            Rs.MoveNext
         Loop
         
         'Spaltenbreite optimieren
         For i = 0 To .Cols - 1
            breit = 0
            For j = 0 To .Rows - 1
               If Me.TextWidth(.TextMatrix(j, i)) > breit Then
                  breit = Me.TextWidth(.TextMatrix(j, i))
               End If
            Next
            .ColWidth(i) = breit + 120
         Next
         'Flex (endgültig) Neu zeichnen
         .Redraw = True
      End With
End Function


Private Sub Form_Unload(Cancel As Integer)

      'Connection schliessen, Speicher freigeben
      If CnA.State = adStateOpen Then
         CnA.Close
      End If
      Set CnA = Nothing
End Sub

Private Sub MSFlexGrid1_Click()
    With MSFlexGrid1
        txtDataEntry.Text = .TextMatrix(.Row, .Col)
        txtDataEntry.Move .CellLeft + .Left, .CellTop + .Top, _
          .CellWidth, .CellHeight
        txtDataEntry.Visible = True
        DoEvents
        txtDataEntry.SetFocus
    End With
End Sub
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
    Select Case KeyAscii
    Case 45, 46, 47, 48 To 57, 65 To 90, 97 To 122
        txtDataEntry.Text = Chr$(KeyAscii)
        txtDataEntry.SelStart = 1
    End Select
    With MSFlexGrid1
        txtDataEntry.Move .CellLeft + .Left, .CellTop + .Top, _
          .CellWidth, .CellHeight
        txtDataEntry.Visible = True
        DoEvents
        txtDataEntry.SetFocus
    End With
End Sub
Private Sub txtDataEntry_KeyPress(KeyAscii As Integer)
    Select Case KeyAscii
    Case 45, 46, 47, 48 To 57, 65 To 90, 97 To 122
        ' These are acceptable keystrokes
    Case Else
        ' These are unacceptable, and should be ignored
        KeyAscii = 0
    End Select
End Sub

Private Sub MSFlexGrid1_LeaveCell()
    Call SaveEdits
End Sub
Private Sub MSFlexGrid1_GotFocus()
    Call SaveEdits
End Sub
Private Sub SaveEdits()
    If Not txtDataEntry.Visible Then Exit Sub
    MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col) = _
      txtDataEntry.Text
    txtDataEntry.Visible = False
End Sub


Bij dat SaveEdits() zou dus iets moeten komen dat hij de data weer saved naar de database alleen dat lukt nie :'(

[ Voor 3% gewijzigd door Apen-nootjes op 06-05-2004 21:51 ]

SmartDoDo: Ach, afhankelijk van je smaak kan het best een lekker geil ding zijn :P
You never had a date you couldn't inflate


  • Max|Burn
  • Registratie: Augustus 2001
  • Laatst online: 26-04 09:18

Max|Burn

-- .. ... .--- .- .-.-.-

farlane schreef op 05 mei 2004 @ 17:25:
[...]
Waarom zou je een klantid niet kunnen verwijderen ? Met een cascade delete verwijder je ook alle data die er aan hangt.
kijk nou es goed |:(
Als je even nadenk snap je wat ik bedoel :?, de TS bracht het zo dat zijn record gewoon BLIJFT als hij klantID weghaalt, wat dus aanduid dat het geen key is. Je zie duidelijk een regel met velden waar het KlantID mist,dit kan niet, als de situatie is zoals jij zegt moet dat hele record weg zijn. Maar goed laat maar als ik de enige ben die dit vreemd vind zal ik wel niks meer zeggen ................

[ Voor 25% gewijzigd door Max|Burn op 07-05-2004 08:34 ]

ma ma ma ma ma macron one


Verwijderd

Apen-nootjes:

Wat je zou kunnen doen (zo los ik dat zelf wel eens op) is een extra kolom toevoegen die width = 0 heeft. Zodra je je FG inleest zet je in elke rij een 0 en zodra je een veld in je FG wijzigt zet je in die kolom-rij een 1.
Vervolgens loop je alle rijen door van de FG en check je de waardes, indien 1 --> Update, indien 0 --> nix doen. Zo kun je ook een tmpStrWaarde declareren die je tijdens het enteren van de cell vult met de huidige waarde. Als je de cell verlaat en de waarde is anders wordt er dus een 1 ingevuld ;)

Je loopt daarna gewoon door alle kolommen en cellen om de waarden op te slaan.
code:
1
2
3
4
5
For i = 1 to FG.FixedRows - 1
   If FG.textMatrix(i, jouwExtraKolom) = 1 Then
        'je update loop
   End If
next i



EDIT :: BTW wat heeft deze waarde voor nu? .AllowBigSelection = True

En ik zou de connection ook sluiten nadat ik de recordset opgehaald heb....hij blijft nu actief totdat het formulier gesloten wordt. :+

En in plaats van door je recordset heen te loopen kun je ook gewoon dit doen:
'flexgrid vullen met het recordset
Set MSHFlexGrid1.DataSource = objRs 'jouw recordset uiteraard hier invullen
Daarna loop je evt. door elke cel om de txtWidth te checken en cellWidth aan te passen!

[ Voor 29% gewijzigd door Verwijderd op 07-05-2004 09:35 ]


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
MaxBurn schreef op 07 mei 2004 @ 08:31:
[...]
kijk nou es goed |:(
Als je even nadenk snap je wat ik bedoel :?, de TS bracht het zo dat zijn record gewoon BLIJFT als hij klantID weghaalt, wat dus aanduid dat het geen key is. Je zie duidelijk een regel met velden waar het KlantID mist,dit kan niet, als de situatie is zoals jij zegt moet dat hele record weg zijn. Maar goed laat maar als ik de enige ben die dit vreemd vind zal ik wel niks meer zeggen ................
Als KlantID geen PK is in deze tabel, dan zou dat toch wel heel sterk zijn.

Je moet je trouwens wel ff kalm houden, ik vind dat je post een behoorlijk irritante toon uitstraalt. :(

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Max|Burn
  • Registratie: Augustus 2001
  • Laatst online: 26-04 09:18

Max|Burn

-- .. ... .--- .- .-.-.-

farlane schreef op 07 mei 2004 @ 09:51:
[...]
Als KlantID geen PK is in deze tabel, dan zou dat toch wel heel sterk zijn.
Ja goed, wat ik bedoel is. het lijkt anders wel zo :) Sorry van irritatiefactor..was net wakker, was niet zo bedoeld :)

ma ma ma ma ma macron one


  • Apen-nootjes
  • Registratie: September 2001
  • Laatst online: 03-04-2025

Apen-nootjes

aka Apen-klootjes

Topicstarter
Verwijderd schreef op 07 mei 2004 @ 09:23:
Apen-nootjes:

Wat je zou kunnen doen (zo los ik dat zelf wel eens op) is een extra kolom toevoegen die width = 0 heeft. Zodra je je FG inleest zet je in elke rij een 0 en zodra je een veld in je FG wijzigt zet je in die kolom-rij een 1.
Vervolgens loop je alle rijen door van de FG en check je de waardes, indien 1 --> Update, indien 0 --> nix doen. Zo kun je ook een tmpStrWaarde declareren die je tijdens het enteren van de cell vult met de huidige waarde. Als je de cell verlaat en de waarde is anders wordt er dus een 1 ingevuld ;)

Je loopt daarna gewoon door alle kolommen en cellen om de waarden op te slaan.
code:
1
2
3
4
5
For i = 1 to FG.FixedRows - 1
   If FG.textMatrix(i, jouwExtraKolom) = 1 Then
        'je update loop
   End If
next i
Dat snap ik :) dat je dan kijken welke record gewijzigd is... alleen HOE doe ik dan de veranderde gegevens weer terug zetten naar de database.. Ik kom er echt niet uit... Ik heb altijd dat datagrid gebruikt en daar hoef je er niks voor te doen...
EDIT :: BTW wat heeft deze waarde voor nu? .AllowBigSelection = True
Ik zou het ni weten.. zo geript uit een stuk voorbeeldcode O-)
En ik zou de connection ook sluiten nadat ik de recordset opgehaald heb....hij blijft nu actief totdat het formulier gesloten wordt. :+
Da's een goed idee :P
En in plaats van door je recordset heen te loopen kun je ook gewoon dit doen:
'flexgrid vullen met het recordset
Set MSHFlexGrid1.DataSource = objRs 'jouw recordset uiteraard hier invullen
Daarna loop je evt. door elke cel om de txtWidth te checken en cellWidth aan te passen!
Mja.. het gaat nu ook en ben al blij dat ik het tot zo ver heb werken nu :o

SmartDoDo: Ach, afhankelijk van je smaak kan het best een lekker geil ding zijn :P
You never had a date you couldn't inflate


Verwijderd

Je moet dus een UPDATE query bouwen die alle rijen die aangepast zijn update.
Zo kun je dus ook nog in die verborgen kolom de kolom opslaan welke aangepast is, of simpel weg alle gegevens uit alle kolommen updaten.

Om hoeveel data gaat het eigenlijk?

Dim arrKolom(FG1.FixedCols -1) 'het aantal kolommen in een array opslaan
Dim arrWaarde(FG1.FixedCols -1) 'het aantal waarden voor in je UPDATE query

Wat je ook nog zou kunnen doen is ALTIJD in rij 1 even de kolomnamen in elke cel zetten en deze rij permanent verbergen, die kun je dan gebruiken bij het UPDATEN! Of constanten vullen met de kolomnamen, er zijn vele mogelijkheden!

Je UPDATE query ziet er zo uit : UPDATE jouwTabel SET jouwKolom = jouwWaarde WHERE jouwID = jouwFG_rij_Kolom0

Nu moet je dus je FG lezen en een query in elkaar zien te krijgen die er als bovenstaand uit ziet
Pagina: 1