Toon posts:

[VB] combo naar access

Pagina: 1
Acties:

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub cmdInsertData_Click()

Data2.Recordset.AddNew
      Data2.Recordset(0) = frmProjectClosure.txtProjectNumber
      Data2.Recordset(1) = 2 'frmProjectClosure.txtTimeliness
      Data2.Recordset(2) = 3 'frmProjectClosure.cmbHelpfulness
      Data2.Recordset(3) = 4 'cmbAttitude.Text
      Data2.Recordset(4) = 5 'frmProjectClosure.cmbKnowledge
      Data2.Recordset(5) = 6 'cmbAccuracy.Text
      Data2.Recordset(6) = 7 'cmbFavorable.Text
      Data2.Recordset(7) = 8 'txtComments
    Data2.Recordset.Update
     
     
End Sub

Ik wil vanuit een VBform de data in access plaatsen. Hij pakt wel de txtProjectNumber maar de overige niet. Tenzij ik er een nummertje neer zet zoals bovenstaand.

Wat snap ik hier niet?

De foutmelding is "Wrong number of arguments or invalid property assignment" Runtime error 450

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 10-09 14:51

mulder

ik spuug op het trottoir

Syntax niet helemaal correct denk ik:
code:
1
2
3
4
5
6
7
With Data2.Recordset Do
  .AddNew
  .Fields("Id") = txtProjectNumber.Text
  .Fields("HelpFunctie") = "F1"
  .Fields("GeduldFacundo") = txtIkWeetHet.Text
  .Update
End With

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
Ok, ik heb nu dit geprobeerd maar

[code]
Private Sub cmdInsertData_Click()

With Data2.Recordset
.AddNew
.Fields("ProjectNumber") = txtProjectNumber.Text
.Fields("Timeliness") = txtTimeliness
.Fields("Helpfullness") = cmbHelpfulness.Text
.Fields("Attitude") = cmbAttitude.Text
.Fields("Knowledge") = cmbKnowledge.Text
.Fields("Accuracy") = cmbAccuracy.Text
.Fields("Favorable") = cmbFavorable.Text
.Fields("Comments") = txtComments.Text
.Update
End With
[\code]

Met 'do' erbij krijg ik een syyntax error. Zonder 'do' krijg ik een method er data member not found op .Text

Dit werkt dus ergens niet?

  • lvmeijer
  • Registratie: November 2001
  • Laatst online: 02-08 17:30

lvmeijer

www.leonmeijer.nl

Zijn de kolommen waar het niet bij werkt primaire sleutels in de database, of hebben de kolommen soms de eigenschap dat ze van het type integer of zoiets zijn?

Misschien dat er dus een fout in je databaseontwerp zit.

Verwijderd

Hoe creeer jij de recordset??

Het lijkt wel of de recordset de betreffende fields niet geinitialiseerd heeft

Verwijderd

Ik heb hier een functie waarmee ik een klant in de database bewaar. Misschien heb je iets aan deze code
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
Public Function Bewaar() As Boolean
'
'Indien al eerder opgeslagen (cvlKlantDBID <> -1) updaten
'Anders toevoegen
  Dim lvobjRecordset As New ADODB.Recordset
  Dim strSQL As String
  
  'default
  Bewaar = True
  
  strSQL = "SELECT * FROM klant WHERE klant_ID = " & cvlKlantDbId
  
  With lvobjRecordset
    Set .ActiveConnection = cvobjDBConnection
    .LockType = adLockOptimistic
    .CursorLocation = adUseServer
    .CursorType = adOpenDynamic
    .Open strSQL
    
    If .EOF Then
    If cvlKlantDbId <> -1 Then
      'De klant is al eerder opgeslagen maar niet gevonden
      Bewaar = False
    End If
    'Het betreft een nieuwe klant
    .AddNew
    End If
    
    .Fields("Klant_Code").Value = KlantCode
    .Fields("Voorletters").Value = Voorletters
    .Fields("Achternaam").Value = Achternaam
    .Fields("tussenvoegsel").Value = Tussenvoegsel
    .Fields("straatnaam").Value = Straatnaam
    .Fields("Huisnummer").Value = Huisnummer
    .Fields("Toevoeging").Value = Toevoeging
    .Fields("Postcode").Value = Postcode
    .Fields("Woonplaats").Value = Woonplaats
    .Fields("Telefoon").Value = Telefoon
    .Fields("Email").Value = Email
      
    .Update
    'Na de update is het ID (Toegewezen door DB) bekend
    cvlKlantDbId = .Fields("Klant_ID").Value

  End With
  Set lvobjRecordset = Nothing
  
End Function
Pagina: 1