2

作成したフォームフィールドのWord文書からMS-Accessテーブルにフィールドをインポートしようとしています。日付フィールドの1つにnullがない限り、インポートは正常に機能し、タイプの不一致エラーがスローされます。このエラーが発生しないようにするにはどうすればよいですか?

Dim rst As New ADODB.Recordset
With rst
    .AddNew
    !BPRid = doc.FormFields("frmBPRid").Result
    If Not IsNull(doc.FormFields("frmReceiptDate").Result) Then
    !ReceiptDate = doc.FormFields("frmReceiptDate").Result
    End If    
    .Update
    .Close
End With

上記のようにifステートメントでラップしようとしましたが、フィールドがnullとして認識されないようです。どんな助けでもいただければ幸いです。前もって感謝します。

4

1 に答える 1

3

おそらく長さゼロの文字列( "")だと思います。

IsDateを使用することをお勧めします。

If IsDate(doc.FormFields("frmReceiptDate").Result) Then
   !ReceiptDate = doc.FormFields("frmReceiptDate").Result
End If   

他のデータ型の場合、次のように長さがゼロの文字列とスペースで埋められたフィールドを確認できます。

If Trim(doc.FormFields("frmReceiptDate").Result & "") <> vbNullString
于 2012-07-23T15:23:25.717 に答える