Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 309
  • Last Modified:

RESHOWING ADOGRID WITHOUT CLOSING DATARECORD/FIEL

I have a large (30000 records) file,  opening /reading in adogrid takes 2 to 3 minutes, can live with that, but,  see source what I have to do after insert/update/delete,
if I don't close the file only file gets (unvisible) uopdated, not the adogrid, thus still
showing the old data
So what would be the way to update both without closing????

Private Sub cmdSave_Click()
'============================
Dim book As Long
Customgrid.Col = 0        
DebNum = Trim(txtCustomerId) '  is key for record on form
book = Customgrid.Bookmark
If book > 100 Then book = book - 100 Else book = 0 ' to make sure we
rsCustomers.MoveFirst                              ' are not passing gridposition
rsCustomers.Move book

'=====  
readFile:
'=====
 rsCustomers.MoveNext
 If rsCustomers.EOF Or rsCustomers.BOF Then Exit Sub
 If rsCustomers.Fields(0) = DebNum Then
   rsCustomers.Fields(3) = Left$(txtName1 + Space$(40), 40)
   rsCustomers.Fields(4) = Left$(txtStreet1 + Space$(40), 40)
   rsCustomers.Fields(5) = Left$(txtCity1 + Space$(30), 30)
   rsCustomers.Update
   rsCustomers.Save
  Customgrid.Refresh                   ' will do nothing see below remm
  rsCustomers.Close                    ' if these 5 lines are remmed
Set rsCustomers = Nothing         ' adogrid is not updated only database
rsCustomers.Source = ""             ' BUT reloading
dbCustomersActive = 0               ' after update takes so long!!!
Call Form_Load                  
      Else                        
  GoTo readFile
End If
End Sub

0
BIAPRO
Asked:
BIAPRO
  • 2
  • 2
1 Solution
 
PreachDotNetCommented:
You could use a form level dataset if you are using .net, make all your changes to the local copy and then have a submit button to update the changes in the central repository.  The data adapter and its update command are excellent for this kind of thing.

Dont forget to call the refresh method of the ado grid.

0
 
BIAPROAuthor Commented:
I'm using VB6,
could you please give a (small) sample how syntax would look like?
Thanks  Jack
0
 
PreachDotNetCommented:
I dont think it will work in VB6 sorry.
I made the move from vb6 to .net in about 2 weeks, dont be scared of the move :)

'Form level recordset
Dim rsCustomers as recordset

Form Load
adoGrid1.Bind rsCustomers

Button1_Press
'Update your local recordset
adoGrid1.Bind rsCustomers

Button_Submit Press
'Update remote database code here

That kind of thing, sorry I dont have time to try it out or thrash it out, somedays im slightly less than useless ;)

i think
0
 
BIAPROAuthor Commented:
I forgot about  ADO, jumped to active X.  That will work, just some more work.
Thanks anyway
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now