VB2010Expressを使用しています。
VBにてあるCSVファイルの内容をmdbファイルに移行するプログラムを作成しています
DateTimePickerの日付を条件にしているんですがCSVの日付表記が『yyyymmdd』になっていて下記のコードでは『 (Me.Date日付.Text).ToString("yyyyMMdd")』の部分で『'String' から 'System.IFormatProvider' への変換時にランタイム エラーが発生する可能性があります。』とエラーが出ます。
自宅PCでは『(Me.Date日付.Text).ToString("yyyyMMdd")』を『DateAdd("d", 0, Me.Date健診日.Text).ToString("yyyyMMdd")』にしたらエラーなく動いたのですが、今日職場のPCで検証したら『型が合いません的なエラーが出てしまいます。(日付部分でのエラーみたいなのですが職場でのエラーをメモし忘れました、スイマセン)
日付のフォーマット変更そしてPCの違いによるエラーの発生原因についてご教授お願いします。
Try
Dim DT As New DataTable
'===============CSVからクエリ===============
Using OleCn As New System.Data.OleDb.OleDbConnection
OleCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FolderPath & _
";Extended Properties=""Text;HDR=YES;IMEX=1;FMT=Delimited"""
Dim SQL As String = ""
SQL = "SELECT * FROM " + CSVFileName + " WHERE 日付 BETWEEN " + DateAdd("d", -1, Me.Date日付.Text).ToString("yyyyMMdd") + " AND " + (Me.Date日付.Text).ToString("yyyyMMdd")
Using DA As System.Data.OleDb.OleDbDataAdapter = _
New System.Data.OleDb.OleDbDataAdapter(SQL, OleCn)
DT.Clear()
DA.Fill(DT)
End Using
End Using
'===============CSV-importへの登録===============
コード省略
Catch ex As Exception
MessageBox.Show(ex.ToString, "例外発生")
Exit Sub
End Try
お礼
ありがとうございます。 勉強になりました。 原因として一回Excelで読んで上書きしたせいでデータ型が変わったようです(汗)