2013-07-12 2 views
0

처음에는 VBA 코드에 대해 거의 알지 못합니다. 내가 여기서하려고하는 것은 폼과 하위 폼의 정보를 가져와 하위 레코드의 레코드 원본으로 설정된 테이블에 새 레코드로 입력하는 것입니다.Access VBA - 런타임 오류 '3075'

오류 코드 읽기 : 런타임 오류 '3075'실행 쿼리 식

구문 오류 (운영자 없음) '일반 금속 (CUBEX를)'.

또한 얼마나 지저분한 지 사과드립니다. 솔직히 YouTube 동영상에서 본 내용을 내가하려는 것을 그대로 복사하려고했습니다.

CurrentDb.Execute "INSERT INTO workingorders(customer, partname, partnumber, metal, grade, unitweight, Process, subcontract, MoldDescription, moldlocation, specialconcerns, shippinginst, datereq, orderdate, qtyordered, qtycast) " & _ 
" VALUES(" & Me.customer & ", '" & Me.partname & "','" & Me.partnumber & "','" & Me.metal & "','" & Me.grade & "','" & Me.unitweight & "','" & Me.Process & "','" & Me.subcontract & "','" & Me.MoldDescription & "','" & Me.moldlocation & _ 
Me.specialconcerns & "','" & Me.shippinginst & "','" & Me.datereq & "','" & Me.orderdate & "','" & Me.qtyordered & "','" & Me.qtycast & "')" 
+2

이것은 아마도 액세스 오류가 아니며 실제로는 SQL 오류입니다. 동적 SQL을 변수에 저장하고 실제 쿼리를 제공하십시오. 아니면 그냥 직접 창에 출력하십시오 :'CurrentDb.Execute'를'debug.print'로 대체하십시오. 다른 사람이 당신이 제공 한 것을 디버깅하는 것은 거의 불가능할 것입니다. –

+0

나는 읽기 쉽도록하고 싶지만, 당신이 방금 나에게 무엇을 부탁했는지 전혀 모른다. –

+0

VBA에서 여러 줄로 된 쿼리를 원하면 마지막 줄을 제외한 모든 줄에 & _을 추가해야합니다. 그런 일이 일어나지 않으면 코드를 다시 포맷하십시오. 또한 날짜 필드가 날짜가 아닌 문자열 인 경우에는 작은 따옴표를 #으로 대체하십시오. – Lisa

답변

3

이 부분은 저를 염려 : ' "& Me.moldlocation & _ Me.specialconcerns &"'당신이 라인 억제 전에 닫는 따옴표가 누락 것처럼 보이는

. "& _"이 표시되면 언제든지 새 줄로 이동한다고 코드에 알려주지 만 코드가 실행될 때 줄 바꿈을 억제 할 수 있습니다. 당신은 일반적으로 그냥 다른 라인 억제에 할 것처럼, 그렇게하기 전에 따옴표를 가까이해야합니다 짧은에, 그래서 qtycast) "을 & _"VALUES (

이에게 주사를 :

CurrentDb.Execute "INSERT INTO workingorders(customer, partname, partnumber, metal, grade, unitweight, Process, subcontract, MoldDescription, moldlocation, specialconcerns, shippinginst, datereq, orderdate, qtyordered, qtycast) " & _ 
" VALUES(" & Me.customer & ", '" & Me.partname & "','" & Me.partnumber & "','" & Me.metal & "','" & Me.grade & "','" & Me.unitweight & "','" & Me.Process & "','" & Me.subcontract & "','" & Me.MoldDescription & "','" & Me.moldlocation "'," & _ 
"'" & Me.specialconcerns & "','" & Me.shippinginst & "','" & Me.datereq & "','" & Me.orderdate & "','" & Me.qtyordered & "','" & Me.qtycast & "')" 

나는 당신의 데이터를 알 수 없기 때문에, 그냥 텍스트의 어떤 작은 따옴표 (예 : ' "& Me.grade &"')와 INT는 수행의 아무것도 묶어야 할 필요가 있음을 알려드립니다 작은 따옴표가 필요하지 않습니다 (예 : "& Me.customer &"). 변수가 그에 따라 포함되거나 오류가 발생할 수 있습니다.

이 질문에 대한 답변을 얻으려면 답을 확인 표시로 보내주십시오. 감사!