문제

그래서 사용자가 여러 테이블을 업데이트하는 데 사용하려는 양식이 있습니다. 나는 VBA를 사용하여 이것을하기를 원하기 때문에 양식이 테이블에 묶여있는 것을 원하지 않습니다 (나는 모르겠습니다).

여기에 작은 테이블 예제가 있습니다

useTable

UserID
First
Middle
Last
Division
Title

장비

EquipID
AssignedLaptop
Model
Barcode

SoftTable

SoftID
SoftwareName
License#
Custom (running sum to calculate how many licenses are left....another question)

교환 가능

UserID
SoftID
EquipID

이것이 테이블을 설정하는 방법입니다. 이 모든 텍스트/CMB 상자는 한 테이블에 존재 하며이 데이터를이 양식에서 버튼 클릭으로 모든 상대 테이블로 저장할 수 있습니다.

누구나 다음을 도와 줄 수 있습니다.

새 버튼을 클릭 한 후이 무부명 양식이 채워진 경우, 각각의 새 ID 번호 (자동 수)를 채우기 위해 숨겨진 텍스트 상자 ( ""ID 번호를 포함하는 것이 이상적으로 포함되어야 하는가? 테이블은 데이터를 저장하기 위해 VB에서 업데이트 SQL 문을 저장 버튼 클릭에 할당 할 수 있도록 테이블?

"Exchange Table"(내가 왜 이름을 지은 이유는 알지 못함)를 비자 대신 다른 테이블의 ID 번호를 채우도록 설정할 수 있습니까?

나는 이것에 대해 잘못된 길로 가고 있습니까?

편집하다:

한 형태의 여러 테이블 (궁극적으로 여러 키)으로 내가하려는 것이 가능하는지 확인하기 위해 예를 들어 보려고 노력했으며, 그렇다면 한 양식/테이블로 수행하는 것과 어떻게 다른가요 : 나는 사용합니다. 내가 구축 해야하는 양식과 VBA의 한 형식에서 다음 형식으로 지속적으로 PAS 매개 변수를 PAS 파라미터로 PAS가 필요하기 때문에 결합되지 않은 접근 방식이 많이 있습니다. 직접 코딩하는 것이 더 빠르다고 생각합니까? 따라서이 개념의 경우 항상 상대 테이블의 멍청이가있는 형식에 숨겨진 텍스트 상자가 있습니다. 따라서 저장을 클릭하려면 단순한 것이 필요합니다 SQL = * WHERE Tbl_ID = frmID 좀 아이디어.

내가 궁금해하는 것은이 질문 이었습니까?

삽입물을 실행할 때, ID 번호는 명령문에 존재해야합니까?

위의 방법을 고려하지 않으면 코드 로이 번호 (사용해야 할 ID)를 어떻게 결정할 수 있습니까?

다른 질문? 마우스 휠 스크롤을 어떻게 제한 형태의 레코드 기능을 통해 물리 치나요?

도움이 되었습니까?

해결책

나는 당신이 말하는 것을 봅니다. 문구는 이것에 이상한 일 이었지만 당신이 이것으로 어디로 가는지 봅니다.

이것이 당신이 가진 것입니다 :

  • 당신은 어떤 테이블에도 링크되지 않은 형식이없는 양식을 가지고 있습니다.
  • 어떤 테이블에도 링크되지 않은이 비 결합 형식은 텍스트 상자와 콤보 상자와 버튼을 추가하여 설계됩니다.
  • 이 텍스트 상자에는 행의 ID (키 값)를 저장하는 텍스트 상자가 있습니다. 따라서 ID 번호를 저장하면 텍스트 상자로 다시 설정됩니다.
  • ID 번호 가이 숨겨진 필드로 설정되면이 ID 번호가 필요한 모든 테이블에 대한 업데이트를 발행 할 수 있습니다.

그 소리가 맞습니까? 그렇다면 매우 간단합니다. "Create Button"을 클릭하면 삽입을 수행하는 것입니다.

 ' Command to Insert Records.
      Dim cmdInsert As New OleDbCommand()
      cmdInsert.CommandText = "INSERT INTO AutoIncrementTest (Description) VALUES (?)"
      cmdInsert.Connection = cnJetDB
      cmdInsert.Parameters.Add(New OleDbParameter("Description", OleDbType.VarChar, 40, "Description"))
      oleDa.InsertCommand = cmdInsert

그런 다음 다른 명령을 발행하여 신원을 되 찾을 수 있습니다. 즉, ID가 있습니다.

  ' Create another command to get IDENTITY value.
  cmdGetIdentity = New OleDbCommand()
  cmdGetIdentity.CommandText = "SELECT @@IDENTITY"
  cmdGetIdentity.Connection = cnJetDB

select @@ everity로 언제든지 신원을 얻을 수 있습니다.

따라서 코드 뒤에있는 코드에서 텍스트 상자를 select @@ everity의 값으로 설정하십시오. 나는 5 년 넘게 액세스를 한 적이 없지만 이와 같은 일을 기억합니다. 이 신원이 있으면 숨겨진 텍스트 상자에 배치하십시오. 이를 통해이 ID를 사용하는 업데이트를 수행하는 데 도움이됩니다.

시작하기에 좋은 곳이 있습니다. http://support.microsoft.com/kb/815629다음은 도움이 될 수있는 또 다른 훌륭한 기사입니다. http://support.microsoft.com/kb/815629

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top