Results 1 to 6 of 6

Thread: VB -->ADODB-->Access

  1. #1

    Thread Starter
    Hyperactive Member
    Join Date
    Aug 2001
    Location
    Austin
    Posts
    397

    VB -->ADODB-->Access

    I have all my fields populted.

    On to the next part.

    How do I move around from record to record?

    This is what I have so far for the record connection.





    Private cn As ADODB.Connection
    Private rs As ADODB.Recordset

    Private Sub Form_Load()
    Set cn = New ADODB.Connection
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=C:\Documents and Settings\Administrator\Desktop\STG\STGDB.mdb"
    cn.Open
    Set rs = New ADODB.Recordset
    rs.Open "T_all", cn, adOpenKeyset, adLockPessimistic, adCmdTable
    Set cn = Nothing
    Call fillfields ' sub below

    End Sub

  2. #2

    Thread Starter
    Hyperactive Member
    Join Date
    Aug 2001
    Location
    Austin
    Posts
    397
    Populated

    my bad

  3. #3
    PowerPoster Beacon's Avatar
    Join Date
    Jan 2001
    Location
    Pub Floor
    Posts
    3,188
    Ok for starters i wouldnt close the connection till you unload your form or exit your program like a said in the other thread.
    By the way i did fix that unload code did you see??

    anyways so:
    VB Code:
    1. Private cn As ADODB.Connection
    2. Private rs As ADODB.Recordset
    3.  
    4. Private Sub Form_Load()
    5. Set cn = New ADODB.Connection
    6. cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    7. "Data Source=C:\Documents and Settings\Administrator\Desktop\STG\STGDB.mdb"
    8. cn.Open
    9. Set rs = New ADODB.Recordset
    10. rs.Open "T_all", cn, adOpenKeyset, adLockPessimistic, adCmdTable
    11. Call fillfields ' sub below
    12. End Sub

    Now create a command button called cmdNext and another called cmdPrev.
    On cmdNext click event have
    VB Code:
    1. If Not (rs.BOF or rs.eof) then
    2. rs.movenext
    3. end if
    On cmdPrev click event have
    VB Code:
    1. If Not (rs.BOF or rs.eof) then
    2. rs.moveprevious
    3. end if

    good luck
    b

  4. #4

    Thread Starter
    Hyperactive Member
    Join Date
    Aug 2001
    Location
    Austin
    Posts
    397
    I knew I could not be as hard as the MSDN was showing.

    Thanks!!!!!!!!!!

  5. #5

    Thread Starter
    Hyperactive Member
    Join Date
    Aug 2001
    Location
    Austin
    Posts
    397
    Im going to post all the code I have for the first form.
    Let me know if you see any errors.
    It's not moving to the next record.


    Private cn As ADODB.Connection
    Private rs As ADODB.Recordset

    Private Sub cmdcustomer_Click()

    frmcustomer.txtfname.Text = frmMain.txtfname.Text
    frmcustomer.txtlname.Text = frmMain.txtlname.Text
    frmcustomer.txtstreet.Text = frmMain.txtstreet.Text
    frmcustomer.txtcity.Text = frmMain.txtcity.Text
    frmcustomer.txtstate.Text = frmMain.txtstate.Text
    frmcustomer.txtzip.Text = frmMain.txtzip.Text
    frmcustomer.txttele.Text = frmMain.txttele.Text

    frmcustomer.Show vbModal


    End Sub

    Private Sub cmdNext_Click()
    If Not (rs.BOF Or rs.EOF) Then
    rs.MoveNext
    End If
    End Sub

    Private Sub cmdPrev_Click()
    If Not (rs.BOF Or rs.EOF) Then
    rs.MovePrevious
    End If

    End Sub

    Private Sub Form_Load()
    Set cn = New ADODB.Connection
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=C:\Documents and Settings\Administrator\Desktop\STG\STGDB.mdb"
    cn.Open
    Set rs = New ADODB.Recordset
    rs.Open "T_all", cn, adOpenKeyset, adLockPessimistic, adCmdTable
    Call fillfields ' sub below
    End Sub


    Public Sub fillfields()
    If Not (rs.BOF And rs.EOF) Then
    txtAcctNum.Text = rs.Fields("ID")
    txtfname.Text = rs.Fields("First Name")
    txtlname.Text = rs.Fields("Last Name")
    txtstreet.Text = rs.Fields("Street")
    txtcity.Text = rs.Fields("City")
    txtstate.Text = rs.Fields("State")
    txtzip.Text = rs.Fields("Zip")

    txtmedicare.Text = rs.Fields("Medicare #")
    txtmedicaid.Text = rs.Fields("Medicaid #")
    txtsecondinfo.Text = rs.Fields("Secondary Info")
    txtdr.Text = rs.Fields("Dr #")
    txtdrname.Text = rs.Fields("Dr Name")

    txtproduct.Text = rs.Fields("Product")
    txtserial.Text = rs.Fields("Serial #")
    txt1paidamt.Text = rs.Fields("#1 Paid Amount") & ""
    txt1paiddate.Text = rs.Fields("#1 Paid Date") & ""
    txt2paidamt.Text = rs.Fields("#2 Paid Amount") & ""
    txt2paiddate.Text = rs.Fields("#2 Paid Date") & ""
    txtrepairs.Text = rs.Fields("Repairs")
    txtnotes.Text = rs.Fields("Notes") & ""


    End If
    End Sub


    Private Sub cmdmedical_Click()

    frmmedical.txtmedicare.Text = frmMain.txtmedicare.Text
    frmmedical.txtmedicaid.Text = frmMain.txtmedicaid.Text
    frmmedical.txtsecondinfo.Text = frmMain.txtsecondinfo.Text
    frmmedical.txtdr.Text = frmMain.txtdr.Text
    frmmedical.txtdrname.Text = frmMain.txtdrname.Text
    frmmedical.txt1paidamt.Text = frmMain.txt1paidamt.Text
    frmmedical.txt1paiddate.Text = frmMain.txt1paiddate.Text
    frmmedical.txt2paidamt.Text = frmMain.txt2paidamt.Text
    frmmedical.txtpaiddate.Text = frmMain.txt1paiddate.Text

    frmmedical.Show vbModal
    End Sub

    Private Sub cmdproduct_Click()
    'You need to reference the lblAcctNum using the form name also

    'Populate the label
    'txtAcctNum is on frmMain so it does not need to be preceeded with the frmName
    'lblAcctNum is not on frmMain so you need to preceeded with the from name were lblAcctNum resides.
    frmproduct.txtAcctNum.Text = frmMain.txtAcctNum.Text
    frmproduct.txtproduct.Text = frmMain.txtproduct.Text
    frmproduct.txtserial.Text = frmMain.txtserial.Text
    frmproduct.txtdelivered.Text = frmMain.txtdelivered
    frmproduct.txtrepairs.Text = frmMain.txtrepairs
    frmproduct.txtnotes.Text = frmMain.txtnotes

    'Then show the form
    frmproduct.Show vbModal

    End Sub

  6. #6
    PowerPoster Beacon's Avatar
    Join Date
    Jan 2001
    Location
    Pub Floor
    Posts
    3,188
    Ohh you'll need to call fillfields again!!
    sorry!

    VB Code:
    1. Private Sub cmdNext_Click()
    2. If Not (rs.BOF Or rs.EOF) Then
    3. rs.MoveNext
    4. fillfields
    5. End If
    6. End Sub
    7.  
    8. Private Sub cmdPrev_Click()
    9. If Not (rs.BOF Or rs.EOF) Then
    10. rs.MovePrevious
    11. fillfields
    12. End If
    13.  
    14. End Sub

    P.s when posting code use vbcode and /vbcode in [] brackets!!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width