Results 1 to 10 of 10

Thread: add a empty database a record

  1. #1
    cusmar
    Guest

    add a empty database a record

    the problem is when the database is empty i cant add a new record what do i wrong

    VB Code:
    1. Dim dbsklantgegevens As Database 'defineer de database
    2. Dim recklantgegevens As Recordset 'defineer de recordset
    3. Dim sqlklantgegevens As String
    4.  
    5. sqlklantgegevens = " select * from klantnummer " 'defineer de sqlquery: defineer de zoekcriteria
    6.  
    7. Set dbsklantgegevens = OpenDatabase("c:\klantgegevens.mdb") 'Defineer waar de database staat
    8. Set recklantgegevens = dbsklantgegevens.OpenRecordset(sqlklantgegevens) 'defineer de recordset met de database en de sqlquery
    9.  
    10. If Not recklantgegevens.EOF Then
    11.     If recklantgegevens.RecordCount = 0 Then
    12.     End If
    13. End If
    14. If IsNumeric(txttelefoonnummer.Text) Then
    15.     temp = MsgBox("Je hebt een letters in je telefoonnummer vak ingevoerd", vbCritical, "Letter")
    16. Else
    17.     If IsNumeric(txtptelefoonnummer.Text) Then
    18.         temp = MsgBox("Je hebt een letters in je telefoonnummer vak ingevoerd", vbCritical, "Letter")
    19.     Else
    20.         If txtbedrijf.Text = "" Then
    21.             temp = MsgBox("U heeft een van de velden niet ingevuld", vbCritical, "Mist data")
    22.         Else
    23.             If Not recklantgegevens.EOF Then
    24.                 recklantgegevens.AddNew 'nieuw record
    25.                 recklantgegevens.Fields("naam") = txtbedrijf.Text
    26.                 recklantgegevens.Fields("adres") = txtadres.Text
    27.                 recklantgegevens.Fields("postcode") = txtpostcode.Text
    28.                 recklantgegevens.Fields("woonplaats") = txtWoonplaats.Text
    29.                 recklantgegevens.Fields("contactpersoon") = txtcontactpersoon.Text
    30.                 recklantgegevens.Fields("telefoonnummer") = txttelefoonnummer.Text
    31.                 recklantgegevens.Fields("projectid") = txtid.Text
    32.                 recklantgegevens.Fields("padres") = txtAdres2.Text
    33.                 recklantgegevens.Fields("ppostcode") = txtPostcode2.Text
    34.                 recklantgegevens.Fields("pWoonplaats") = txtWoonplaats2.Text
    35.                 recklantgegevens.Fields("ptelefoonnummer") = txtptelefoonnummer.Text
    36.                 recklantgegevens.Fields("faxnummer") = txtFax.Text
    37.                 recklantgegevens.Fields("mobiel") = txtmobiel.Text
    38.                 recklantgegevens.Fields("emailadres") = txtEmailadres.Text
    39.                 recklantgegevens.Fields("Projectnaam") = txtProjectnaam.Text
    40.                 recklantgegevens.Fields("Projectinfo") = txtProjectInfo.Text
    41.                 temp = MsgBox("Weet je het zeker", vbYesNo, "weet je het zeker")
    42.                     If temp = vbYes Then
    43.                         recklantgegevens.Update 'schrijf de gegevens naar database
    44.                         temp = MsgBox("Je hebt het record toegevoegd aan de database", vbOKOnly, "Toegevoegd")
    45.                     End If
    46.                     txtbedrijf.Text = ""
    47.                     txtadres.Text = ""
    48.                     txtpostcode.Text = ""
    49.                     txtWoonplaats.Text = ""
    50.                     txtcontactpersoon.Text = ""
    51.                     txtid.Text = ""
    52.                     txttelefoonnnummer = ""
    53.                         If Not recklantgegevens.EOF Then
    54.                         recklantgegevens.MoveLast
    55.                         tnummer = recklantgegevens.Fields("projectid")
    56.                         tnummer = tnummer + 1
    57.                         txtid.Text = tnummer
    58.                         End If
    59.                     End If
    60.                     chkidhandmatig.Value = False
    61.                 End If
    62. End If

  2. #2
    Swatty
    Guest

    Re: add a empty database a record

    Originally posted by cusmar
    the problem is when the database is empty i cant add a new record what do i wrong

    VB Code:
    1. Dim dbsklantgegevens As Database 'defineer de database
    2. Dim recklantgegevens As Recordset 'defineer de recordset
    3. Dim sqlklantgegevens As String
    4.  
    5. sqlklantgegevens = " select * from klantnummer " 'defineer de sqlquery: defineer de zoekcriteria
    6.  
    7. Set dbsklantgegevens = OpenDatabase("c:\klantgegevens.mdb") 'Defineer waar de database staat
    8. Set recklantgegevens = dbsklantgegevens.OpenRecordset(sqlklantgegevens) 'defineer de recordset met de database en de sqlquery
    9.  
    10. If Not recklantgegevens.EOF Then
    11.     If recklantgegevens.RecordCount = 0 Then
    12.     End If
    13. End If
    14. If IsNumeric(txttelefoonnummer.Text) Then
    15.     temp = MsgBox("Je hebt een letters in je telefoonnummer vak ingevoerd", vbCritical, "Letter")
    16. Else
    17.     If IsNumeric(txtptelefoonnummer.Text) Then
    18.         temp = MsgBox("Je hebt een letters in je telefoonnummer vak ingevoerd", vbCritical, "Letter")
    19.     Else
    20.         If txtbedrijf.Text = "" Then
    21.             temp = MsgBox("U heeft een van de velden niet ingevuld", vbCritical, "Mist data")
    22.         Else 'if db is empty and so is recordset it is at eof
    23. [COLOR=darkred]
    24.             If Not recklantgegevens.EOF Then[/COLOR] 'als de database leeg is is de recordset ook aan het einde van de file
    25.                 recklantgegevens.AddNew 'nieuw record
    26.                 recklantgegevens.Fields("naam") = txtbedrijf.Text
    27.                 recklantgegevens.Fields("adres") = txtadres.Text
    28.                 recklantgegevens.Fields("postcode") = txtpostcode.Text
    29.                 recklantgegevens.Fields("woonplaats") = txtWoonplaats.Text
    30.                 recklantgegevens.Fields("contactpersoon") = txtcontactpersoon.Text
    31.                 recklantgegevens.Fields("telefoonnummer") = txttelefoonnummer.Text
    32.                 recklantgegevens.Fields("projectid") = txtid.Text
    33.                 recklantgegevens.Fields("padres") = txtAdres2.Text
    34.                 recklantgegevens.Fields("ppostcode") = txtPostcode2.Text
    35.                 recklantgegevens.Fields("pWoonplaats") = txtWoonplaats2.Text
    36.                 recklantgegevens.Fields("ptelefoonnummer") = txtptelefoonnummer.Text
    37.                 recklantgegevens.Fields("faxnummer") = txtFax.Text
    38.                 recklantgegevens.Fields("mobiel") = txtmobiel.Text
    39.                 recklantgegevens.Fields("emailadres") = txtEmailadres.Text
    40.                 recklantgegevens.Fields("Projectnaam") = txtProjectnaam.Text
    41.                 recklantgegevens.Fields("Projectinfo") = txtProjectInfo.Text
    42.                 temp = MsgBox("Weet je het zeker", vbYesNo, "weet je het zeker")
    43.                     If temp = vbYes Then
    44.                         recklantgegevens.Update 'schrijf de gegevens naar database
    45.                         temp = MsgBox("Je hebt het record toegevoegd aan de database", vbOKOnly, "Toegevoegd")
    46.                     End If
    47.                     txtbedrijf.Text = ""
    48.                     txtadres.Text = ""
    49.                     txtpostcode.Text = ""
    50.                     txtWoonplaats.Text = ""
    51.                     txtcontactpersoon.Text = ""
    52.                     txtid.Text = ""
    53.                     txttelefoonnnummer = ""
    54.                         If Not recklantgegevens.EOF Then
    55.                         recklantgegevens.MoveLast
    56.                         tnummer = recklantgegevens.Fields("projectid")
    57.                         tnummer = tnummer + 1
    58.                         txtid.Text = tnummer
    59.                         End If
    60.                     End If
    61.                     chkidhandmatig.Value = False
    62.                 End If
    63. End If

  3. #3
    old fart Frans C's Avatar
    Join Date
    Oct 1999
    Location
    the Netherlands
    Posts
    2,926
    If the recordset is empty, both EOF and BOF are true. The problem is that you only add a new record if EOF = False.
    This way you can't add records to an empty table.

    Here is the mistake:
    VB Code:
    1. If Not recklantgegevens.EOF Then 'deze regel moet je weghalen
    2.                 recklantgegevens.AddNew 'nieuw record

  4. #4
    Swatty
    Guest
    Isn't that what I marked in red

    By the way why are you just adding records if the recordset isn't at eof. This is of no use No Where.

    This can be of use if you want to edit a recordset.
    Then you must be sure you aren't at the end of the file.
    VB Code:
    1. 'probeer het eens uit  DUTCH
    2. ' try it out ENGLISH

  5. #5
    Frenzied Member oh1mie's Avatar
    Join Date
    Sep 2001
    Location
    Finland
    Posts
    1,043
    Try correct you addnew case thisway:
    VB Code:
    1. With recklantgegevens
    2.       If Not .EOF Then 'als de database leeg is is de recordset ook aan het einde van de file
    3.                
    4.              temp = MsgBox("Weet je het zeker", vbYesNo, "weet je het zeker")
    5.              If temp = vbYes Then
    6.                 .AddNew 'nieuw record
    7.                 .Fields("naam") = txtbedrijf.Text
    8.                 .Fields("adres") = txtadres.Text
    9.                 .Fields("postcode") = txtpostcode.Text
    10.                 .Fields("woonplaats") = txtWoonplaats.Text
    11.                 .Fields("contactpersoon") = txtcontactpersoon.Text
    12.                 .Fields("telefoonnummer") = txttelefoonnummer.Text
    13.                 .Fields("projectid") = txtid.Text
    14.                 .Fields("padres") = txtAdres2.Text
    15.                 .Fields("ppostcode") = txtPostcode2.Text
    16.                 .Fields("pWoonplaats") = txtWoonplaats2.Text
    17.                 .Fields("ptelefoonnummer") = txtptelefoonnummer.Text
    18.                 .Fields("faxnummer") = txtFax.Text
    19.                 .Fields("mobiel") = txtmobiel.Text
    20.                 .Fields("emailadres") = txtEmailadres.Text
    21.                 .Fields("Projectnaam") = txtProjectnaam.Text
    22.                 .Fields("Projectinfo") = txtProjectInfo.Text
    23.                 .Update 'schrijf de gegevens naar database
    24.                 MsgBox "Je hebt het record toegevoegd aan de database", vbOKOnly, "Toegevoegd"
    25.               End If
    26.               txtbedrijf.Text = ""
    27.               txtadres.Text = ""
    28.               txtpostcode.Text = ""
    29.               txtWoonplaats.Text = ""
    30.               txtcontactpersoon.Text = ""
    31.               txtid.Text = ""
    32.               txttelefoonnnummer = ""
    33.               If Not .EOF Then
    34.                  .MoveLast
    35.                  tnummer = .Fields("projectid")
    36.                  tnummer = tnummer + 1
    37.                  txtid.Text = tnummer
    38.               End If
    39.        End If
    40.           chkidhandmatig.Value = False
    41.        End If
    42.        End With
    oh1mie/Vic


  6. #6
    Swatty
    Guest
    Same mistake here
    If the recordset is empty nothing can be added.

  7. #7
    cusmar
    Guest
    ohw sorry my mistake

    Shame on me

  8. #8
    Swatty
    Guest
    Ha there you are.

    And does it work now ???

  9. #9
    old fart Frans C's Avatar
    Join Date
    Oct 1999
    Location
    the Netherlands
    Posts
    2,926
    Originally posted by Swatty
    Isn't that what I marked in red
    Sorry, I overlooked your modifications, I thought it was just a quote.

  10. #10
    cusmar
    Guest
    yaah it just works fine

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