이것은 내가 가지고있는 오류가있는 작은 코드입니다. 처음에 SQL 문은 다음과 같습니다.
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
두 번째 줄에 오류가 있습니다.
recordsStr = recordsStr & objRecordSet.Fields.Item("Computer").Value & _
오류는 다음과 같습니다.
요청한 이름 또는 서수에 해당하는 컬렉션에서 항목을 찾을 수 없습니다.
좋아, 어떻게 든 그 오류를 수정했으며 이제는 만지지 않은 코드 줄에 새로운 오류가 발생했습니다 ...
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open dataSource
Set objRecordSet = CreateObject("ADODB.Recordset")
objRecordSet.Open sqlStr , objConnection
objRecordSet.MoveFirst
라인에서 오류 받기
objRecordSet.Open sqlStr , objConnection
기준 표현식의 데이터 유형 불일치
쿼리에서 :
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"
다음 필드를 통해 가져 computer, room_num, speed, num_cpus, os_type, and hdd_size
오지만 ... Do 루프에서Computer, Hostname, Room_Num, Cpu_Type, Speed, Num_CPUs, Bit_Size, OS_Type, Memory, HDD_Size
여기 Hostname, bit_size, and memory
에서 쿼리에없는 것을 알 수 있습니다. 쿼리에 없기 때문에 레코드 세트에 없기 때문에 레코드 세트에서 요청할 수 없습니다. 시험:
sqlStr = "SELECT Computer, Room_Num, Speed, Num_CPUs, OS_Type, HDD_Size, Hostname, Bit_size, memory
FROM Computers WHERE Num_CPUs = 1 OR Speed < 2.1 OR HDD_Size < 300 ORDER BY Room_Num"
computers
테이블 에서 사용할 수 있다고 가정하면 작동하기 시작합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다