2013-10-24 6 views
0

텍스트 상자 및 단추를 통해 테이블 ​​/ 쿼리에 데이터를 추가하는 데 도움을 찾고 있습니다. 현재 두 개의 버튼이 텍스트 상자에 연결됩니다. 검색 & 추가.텍스트 상자 및 단추 [액세스]에서 테이블/쿼리에 데이터 추가

검색 텍스트 상자에 입력 한 입력에 대해 테이블에 연결된 쿼리를 검색합니다. 단순한.

이제는 추가 버튼을 만들고 싶습니다. 일단 텍스트 상자에 정보를 입력하고 검색 대신 추가를 클릭하면 해당 정보가 테이블에 직접 추가되어 저장되므로 나중에 가리킨다.

내가 온라인 어딘가에 발견 코드입니다,하지만 난 그것을 사용하여 텍스트 상자의 데이터를 데리러 만드는 방법을 알고하지 않습니다

Private Sub Command344_Click() 

INSERT INTO OrderT (CustomerName,OrderName,OrderDesc,DateOfPurchase,ProjectDueDate,EngineerDueDate,ProjectComplete,CutplanDueDate,MaterialSpecs,CutplanCode,HardwareSpecs,HardwareDueDate,HardwareComplete,PurchaseOrder,PurchaseSupplier); 
VALUES (CustomerName,OrderName,OrderDesc,DateOfPurchase,ProjectDueDate,EngineerDueDate,ProjectComplete,CutplanDueDate,MaterialSpecs,CutplanCode,HardwareSpecs,HardwareDueDate,HardwareComplete,PurchaseOrder,PurchaseSupplier); 

End Sub 

버튼 이름 : Command344

텍스트 상자를 이름 : CUSTOMERNAME ORDERNAME OrderDesc DateOfPurchase ProjectDueDate EngineerDueDate ProjectComplete CutplanDueDate MaterialSpecs CutplanCode HardwareSpecs HardwareDueDate HardwareComplete PurchaseOrder에 PurchaseSupplier

테이블의 필드 위에서 동일한 순서로 같은 이름이 -> 아래, 왼쪽 -> 오른쪽으로.

테이블 이름은 OrderT입니다.

양식 이름은 SearchF

답변

4

쿼리를 통해 직접 양식에서 데이터를 선택하여이 작업을 수행 할 수 있습니다. (같을 것이다

Dim sSQL as String 

    Set sSQL = "INSERT INTO OrderT (CustomerName,OrderName,OrderDesc,DateOfPurchase,ProjectDueDate,EngineerDueDate,ProjectComplete,CutplanDueDate,MaterialSpecs,CutplanCode,HardwareSpecs,HardwareDueDate,HardwareComplete,PurchaseOrder,PurchaseSupplier) 
    VALUES (" & Me.CustomerName & "," & Me.OrderName & "," & Me.OrderDesc & "," & Me.DateOfPurchase & "," & Me.ProjectDueDate & "," & Me.EngineerDueDate & "," & Me.ProjectComplete & "," & Me.CutplanDueDate & "," & Me.MaterialSpecs & "," & Me.CutplanCode & "," & Me.HardwareSpecs & "," & Me.HardwareDueDate & "," & 
Me.HardwareComplete & "," & PurchaseOrder & "," & Me.PurchaseSupplier & ");" 

    DoCmd.RunSQL sSQL 

데이터 형식의 데이터를 따기 (내 선호하는 방법) :

쿼리에서이 작업을 수행하려면, 당신은 당신의 버튼 뒤에이 (안된) 코드 같은 것을 넣어 것 테스트되지 않음) 코드 :

Dim db as Database 
Dim rec as Recordset 

Set db = CurrentDB 
set rec = db.OpenRecordset ("Select * from OrderT") 

rec.AddNew 
rec("CustomerName") = Me.CustomerName 
rec("OrderName") = Me.OrderName 
etc... 
rec.Update 

Set rec = Nothing 
Set db = Nothing 
+0

두 번째 방법은 형식 조작이 필요하지 않기 때문에 더 좋습니다. 그리고 첫 번째 방법은 '와 VALUES 부분에 # 값을 가진 날짜를 다시 시작하지 않는 한 작동하지 않을 것입니다. – 4dmonster

+0

고마워요! 그것은 작동합니다. 코드를 테이블에 직접 입력하는 데 사용했습니다. 다른 문제를 풀어 버린다. 쿼리를 사용하여 검색 결과를 양식에 표시합니다. 그러나 쿼리가 모든 필드를 채울 필요가있는 테이블의 해당 행을 인식 할 수는 있습니다. 쿼리가 없으면 쿼리가 존재하지 않고 계속 이동합니다. 어떻게하면 테이블에서 모든 데이터를 가져 와서 하위 폼에 입력 할 수 있으며 필드가 비어 있으면 하위 폼에 null로 남겨 둡니까? – D347HxD

+1

더 나은 질문하기 – 4dmonster

관련 문제