0

Accessの古いプロジェクトを開きました。使用されなくなったこれらのオブジェクトに問題があります。
私はこのガイドに従っています:http ://support.microsoft.com/kb/129883/en

問題のコードの部分はこれです:

Private Sub AGG_Dati()

Dim Dyna As Dynaset
Dim DB As Database

Set DB = CurrentDb()
Set Dyna = DB.CreateDynaset("SELECT DISTINCTROW TOrdiniCartone.* FROM TOrdiniCartone WHERE ((TOrdiniCartone.[Tipo Ordine] = ""S""));")

If Dyna.RecordCount > 0 Then Dyna.MoveLast
n = Dyna.RecordCount
If n > 0 Then
    Dyna.MoveFirst
    If " " & Forms![SOrdiniArticoli].[_CArt] <> " " & Dyna.[Codice Articolo] Then
       Forms![SOrdiniArticoli].[_CArt] = Dyna.[Codice Articolo]
       Forms![SOrdiniArticoli].[_CForn] = ""
       MsgBox "Selezionare un Fornitore!"
       Stato = 1
    Else....

ガイドに従って、私は次のように変更しました。

Private Sub AGG_Dati()

Dim Dyna As Recordset
Dim DB As Database

Set DB = CurrentDb()
Set Dyna = DB.OpenRecordset("SELECT DISTINCTROW TOrdiniCartone.* FROM TOrdiniCartone WHERE ((TOrdiniCartone.[Tipo Ordine] = ""S""));", dbOpenDynaset)

ここでエラーが発生します:Dyna。[CodiceArticolo]

[CodiceArticolo]はテーブルTOrdiniCartoneのフィールドです

誰かがこれらのことを知っていますか?

4

1 に答える 1

1

Dynaはdao.recordsetとして定義する必要があります。

Dim Dyna As DAO.Recordset

フィールドを参照できます

Dyna.Fields("Field Name")

また

Dyna.Fields(<index>) 

ここで、インデックスは最初の列の0から始まります。

あなたもすることができます

Dyna![FieldName]
于 2013-03-05T18:50:11.657 に答える