1

複数のフィールドを持つアクセス テーブルがあります。すべての行、すべてのフィールドを読み取り、フィールドに NULL が含まれている場合はデフォルト値 "" を設定したいと考えています。フィールド定義を使用してテーブルを読み込もうとしていますが、フィールドの既存の値を見つけることができません。

Dim fld As DAO.Field  
Dim t As DAO.TableDef   
Dim fldVal as string (test variable to see if I can find value of field)  

    For Each t In cd.TableDefs 

  If t.Name = "PERSONS" Then   
    For Each fld In t.Fields
     Just trying to find the existing value here
      fldVal = fld.Value  


      If fld.Type = 10 And IsNull(fld) = True Then  
         fld.Value = ""  
      End If  

   Next  
 End If  
Next
4

2 に答える 2

1

これでPERSONSテーブルに必要なことができると思います。

Dim cd As DAO.Database
Dim fld As DAO.Field
Dim t As DAO.TableDef
Dim rs As DAO.Recordset
Dim fldVal As Variant '(test variable to see if I can find value of field)

Set cd = CurrentDb
For Each t In cd.TableDefs
    If t.Name = "PERSONS" Then
        Set rs = cd.OpenRecordset(t.Name, dbOpenTable)
        Do While Not rs.EOF
            For Each fld In rs.Fields
                'Just trying to find the existing value here
                fldVal = fld.value

                If (fld.Type = dbText Or fld.Type = dbMemo) _
                        And IsNull(fld.value) = True Then
                   fld.value = ""
                End If
            Next fld
        rs.MoveNext
        Loop
    End If
Next t
于 2013-08-02T17:33:07.447 に答える
0

変化する

If fld.Type = 10 And IsNull(fld) = True Then

If fld.Type = 10 And IsNull(fld.Value) = True Then
于 2013-08-03T12:21:43.700 に答える