Excel ファイルから Access DB に特定の情報をインポートする必要があります。これを行うために、DAO を使用しています。
ユーザーは、システムから Excel ソース ファイルを取得します。直接操作する必要はありません。このソース ファイルには 10 列あり、そこから特定のレコードのみを取得する必要があります。
これを使用してすべてのレコードを取得しています。
Set destinationFile = CurrentDb
Set dbtmp = OpenDatabase(sourceFile, False, True, "Excel 8.0;")
DoEvents
Set rs = dbtmp.OpenRecordset("SELECT * FROM [EEX_Avail_Cap_ALL_DEU_D1_S_Y1$A1:J65536]")
私の問題は、WHERE 句を使用して特定のレコードのみを取得したい場合に発生します。句を適用するフィールドの名前は「日付 (UCT)」であり (ユーザーはこのソース ファイルを別のシステムから取得することに注意してください)、WHERE 句を使用できません。名前に ( ) またはスペースが含まれていない別のフィールドに WHERE 句を適用すると、機能します。例:
Set rs = dbtmp.OpenRecordset("SELECT * FROM [EEX_Avail_Cap_ALL_DEU_D1_S_Y1$A1:J65536] WHERE Other = 12925")
前の命令は、フィールド Other の値が 12925 であるレコードの数のみを取得します。
同じ結果を達成する方法を教えてください。ただし、スペースと括弧を含むフィールド名、つまり 'Date (UCT)' を使用しますか?
どうもありがとうございました。
オクタビオ