access ado checkbox problemen

Pagina: 1
Acties:

  • edm
  • Registratie: December 2000
  • Laatst online: 13-10-2024
Ik heb een access formulier met hierop een textbox en een checkbox, beide hebben een control source wijzend naar dezelfde control source. Het formulier krijgt een adorecordset tijdens het form_open event (zie code). De recordset opent een tabel (op een ms sql server) met hierin een id veld en bit field. De formulier weergave is op continuous forms gezet.

Het probleem dat ik heb is dat als ik de waarde van het bit field met de checkbox probeer te veranderen ik of 'vast raak' in de huidige record set danwel dat access onderuit gaat afhankelijk van de connectie settings. Als ik echter de textbox gebruik om de waarde van het bit veldje te veranderen werkt alles prima.

Voor de compleetheid, dit probleem doet zich voor met access xp + sp1 en mdac 2.6.

Weet iemand wat hier mis kan gaan?
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
Private Sub Form_Open(Cancel As Integer)
   Dim cn As ADODB.Connection
   Dim rs As ADODB.Recordset
       
'   'Create a new ADO Connection object
   Set cn = New ADODB.Connection
   'Use the Access 10 and SQL Server OLEDB providers to
   'open the Connection
   'You will need to replace MySQLServer with the name
   'of a valid SQL Server
   With cn
    .Provider = "Microsoft.Access.OLEDB.10.0"
    .Properties("Data Provider").Value = "SQLOLEDB"
    .Properties("Data Source").Value = "MyDataSource"
    .Properties("User ID").Value = "sa"
    .Properties("Password").Value = ""
    .Properties("Initial Catalog").Value = "MyCatalog"
    .Open
   End With


   'Create an instance of the ADO Recordset class, and
   'set its properties
   Set rs = New ADODB.Recordset
   With rs
    Set .ActiveConnection = cn
    .Source = "SELECT * FROM testbit"
    .LockType = adLockOptimistic
    .CursorType = adOpenKeyset
    .CursorLocation = adUseClient

    .Open
   End With

   Set Me.Recordset = rs
End Sub

  • edm
  • Registratie: December 2000
  • Laatst online: 13-10-2024
O ja, als ik gewoon de recordsource van het formulier invul en de onopen code weghaal werkt alles 'normaal'. Dit is echter eigenlijk geen optie...

Verwijderd

Probeer het eens in de activate event van de form te plaatsen. Ik denk dat het met timing tijdens het laden van het formulier te maken heeft.

  • edm
  • Registratie: December 2000
  • Laatst online: 13-10-2024
Ik denk niet dat het een timing probleem is, in de event viewer staat dat er iets mis gaat in de de ado dll. Ik
had dit probleem ook op de microsoft site geplaatst en iemand anders heeft een soort gelijk probleem.
Bij ons beiden werkt het formulier als er gewoon conventioneel een recordsource ingevuld wordt. En het werkt ook als er ipv een checkbox een textbox gebruikt wordt...

Verwijderd

Hmmm, ik zie geen adCmdText terwijl die default, dacht ik, met een adCmdTable werkt.

  • edm
  • Registratie: December 2000
  • Laatst online: 13-10-2024
Interessant:
adCmdText 1 Evaluates CommandText as a textual definition of a command or stored procedure call.
adCmdTable 2 Evaluates CommandText as a table name whose columns are all returned by an internally generated SQL query.

adCmdText levert dezelfde resultaten op, geen crash maar ik zit wel weer vast op het veranderde record.
adCmdTable crasht en adUnknown ook.
Pagina: 1