これは、私が持っているエラーを持っている小さなコードです。エラーがあるDoループでエラーを取得する
recordsStr = recordsStr & objRecordSet.Fields.Item("Computer").Value & _
:
アイテムが対応するコレクションで見つけることができませんbegginningで SQLステートメントは、2行目にエラーが発生して、この
sqlStr = "SELECT Computer, Room_Num, Speed, Num_CPUs, OS_Type, HDD_Size FROM Computers WHERE Num_CPUs = 1 OR Speed < 2.1 OR HDD_Size < 300 ORDER BY Room_Num" Do Until objRecordSet.EOF recordsStr = recordsStr & objRecordSet.Fields.Item("Computer").Value & _ vbTab & pad(objRecordSet.Fields.Item("HostName").Value,12) & _ vbTab & pad(objRecordSet.Fields.Item("Room_Num").Value,14) & _ vbTab & objRecordSet.Fields.Item("CPU_Type").Value & _ vbTab & objRecordSet.Fields.Item("Speed").Value & _ vbTab & objRecordSet.Fields.Item("Num_CPUs").Value & _ vbTab & objRecordSet.Fields.Item("Bit_Size").Value & _ vbTab & pad(objRecordSet.Fields.Item("OS_Type").Value,12) & _ vbTab & objRecordSet.Fields.Item("Memory").Value & _ vbTab & objRecordSet.Fields.Item("HDD_Size").Value & vbCrLf objRecordSet.MoveNext
です要求された名前または序数。
OK]をクリックして何とか私は今ラインでエラーを取得する新しい私も触れていないコードの1行に1つ...
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open dataSource
Set objRecordSet = CreateObject("ADODB.Recordset")
objRecordSet.Open sqlStr , objConnection
objRecordSet.MoveFirst
を取得し、そのエラーを修正
objRecordSet.Open sqlStr , objConnection
条件式のデータ型の不一致
これは、いずれかのフィールドが存在しないことを意味します。 'Computer、Hostname、Room_Num、Cpu_Type、Speed、Numb_CPUs、Bit_Size、OS_Type、Memory、HDD_Size'のうちの1つがあなたの問い合わせに含まれていないか、または間違っています。 – JNevill
また、2行目は実際には 'DO'ループのすべての行です。これは最後に '_'をつけて複数の行にまたがる大きな行です。だから、失われた/誤って綴られた/太っている部分のいずれかになる可能性があります。 SQL文を確認し、一致することを確認してください。ここで質問にSQLステートメントを追加することができます。おそらく、不一致がどこにあるか把握するのに役立ちます。 – JNevill
ループの前に1つのステートメントだけでなく、より多くのコンテキストを提供する必要があります。あなたの質問を更新するには、[編集]リンクを使用してください。 –