전 db 만들기가 처음이에요. 지금까지 내가 좋아하는 것처럼 양식을 설정할 수 있지만 바인딩 된 값이 없습니다 b/c 테이블간에 전환해야합니다 (아마도 첫 번째 테이블의 모든 필드를 두 번째 테이블에 추가 할 수 있지만 나는이 일을 스스로 배우고 있었다.).어떻게 편집 할 수 있도록 Access에서 VBA를 사용하는 테이블 내의 필드를 참조합니까?
두 가지 문제가 발생했습니다.
먼저, 해당 레코드 소스가 myTable이되도록 양식을 승인하는 데 문제가 있습니다. 나는 이유를 모른다. 충분히 단순 해 보입니다.
form.RecordSource="myTable"
불행히도, 작동하지 않습니다. 그렇게하면 myTable의 필드에 바인딩 된 텍스트 상자에 #error 또는 #name이 표시됩니까? 의도 한 값 대신에 난 아무것도를 얻기 위해해야 할 일을했을 내가 그게 무슨 뜻인지 몰라
"SELECT * FROM myTable, myTable AS backup_1;"
하지만 그건 : 시도하고이 문제를 해결하려면
, 나는 양식의 특성에 가서 그것의 제어 소스를 설정 일하다. 이것은 나의 첫 번째 문제입니다 - 어떻게하면 DB를 헛소리없이 문서에 연결하고 참조가 제대로 작동합니까? 나는 그것을 지금까지 3 가지 다른 방식으로 해왔다. 하나는 잠시 동안 일한 후 멈추었다. 하나는 (form.recordSource=myTable)
은 단순히 작동하지 않았고, 다른 하나는 내가 언급 한 첫 번째 방법이었다. 그들 모두는 나에게 문제를 일으키고있다.
아무튼 나는 실제 작업에 가장 가깝기 때문에 SELECT...
을 사용했습니다. 거기에서 필자는 Unbound를 [myTable.FieldName]으로 남기고 싶지 않은 텍스트 상자를 설정하고 작동했습니다. 프로그래밍 방식으로 [myTable.FieldName]을 사용하여 특정 필드의 정보를 어려움없이 특정 레코드에서 편집 할 수있었습니다. 문제는 프로그래밍 방식으로 해당 필드에 저장된 데이터를 편집 할 수없는 것입니다. 예를 들어
, 내가하려고하면 :
txtDisplayField1=[myTable.Field1]
작품 벌금을. 하지만 시도해 보면 :
[myTable.Field1] = txtDisplayField1.text
"이 개체에 값을 할당 할 수 없습니다."런타임 오류가 발생합니다. (어느 쪽이 가장 유용한 오류 메시지인지 알 수 있습니다.)
앞에서 필자는 내 양식을 테이블과 연결할 때 처음에는 효과가 있었지만 어떤 이유로 작동하지 않는 방법이 있다는 것을 언급했습니다. 원래 방금 입력 한 내용 :
form.recordsource = myTable
잘 작동했습니다. Field1 등을 대괄호없이 참조하여 필드를 참조 할 수있었습니다. 그것은 금요일에 일을 하차하면서 나에게 작용했다. (나는 싫증이 난다. 나는 프로그래머가 아니다.) 그러나 내가 들어 왔을 때 일하지 않았다. 그것은 인간이 가능한 문제에 대한 가장 복잡한 말이다. 대단히 감사합니다. 내가 문제 형태 을 만드는 데
어, 뭐라구? 바운드 레코드 소스는 기본적으로 편집 가능합니다. 아마도 내가이 대답을 downvote하기 전에 무슨 뜻인지 명확히하고 싶습니까? –
바운드 레코드 소스는 기본 SQL 문을 업데이트 할 수있는 경우에만 편집 할 수 있습니다. OP의 예제는 그의 레코드 세트가 실제로 업데이트 가능하다고 제안하는 반면, 기본 SQL 문이 업데이트 할 수없는 레코드 세트를 생성하는 경우 예제 레코드 세트 편집이 작동하지 않습니다. –