Bagaimana saya bisa menambahkan bidang ke formulir MS Access 2002 yang terkait dengan tabel lain?

1

Saya memiliki formulir MS Access 2002 yang pada dasarnya menyediakan kotak teks untuk memanipulasi catatan dalam tabel yang disebut Materials. Saya juga memiliki tabel lain yang disebut MaterialCostingyang memiliki kolom MaterialIDyang menautkannya ke Materialstabel yang juga memiliki kolom MaterialID. Apa yang saya coba lakukan adalah menambahkan kotak teks ke formulir ini yang membaca dan menulis ke bidang MaterialCostingbernama outerCarton.

Inilah usaha saya yang gagal:

  1. Klik kanan pada formulir, Pilih properti , dan di data-> Sumber rekaman , masukkan kueri SQL yang menggabungkan dua tabel ( SELECT * FROM Materials AS M INNER JOIN MaterialCosting AS C ON C.MaterialID = M.MaterialID). Kemudian cukup masukkan nama kolom yang diperlukan ( outerCarton) di sumber kontrol kotak teks .
  2. Di sumber kontrol kotak teks , masukkanDLookup("[outerCarton]", "[MaterialCosting]", "MaterialCosting.MaterialID = Materials.MaterialID")

Keduanya memiliki hasil yang sama: kotak teks akan berakhir dengan #Name?di dalamnya dan tidak melakukan apa pun.

Bagaimana saya bisa membuat ini berfungsi?

MEMPERBARUI

Properti formulir Properti Properti formulir kontrol masukkan deskripsi gambar di sini

Shawn
sumber
Anda berkata "tambahkan kotak teks yang membaca dan menulis ke kolom" , tetapi Anda menggunakan pencarian di kotak sumber kontrol. Apakah Anda menambahkan hanya kotak teks kosong data yang akan dimasukkan? Atau Anda mencoba menambahkan kotak kombo untuk data yang akan dipilih?
CharlieRB
@CharlieRB Saya mencoba menambahkan kotak teks yang akan menampilkan (dan mengizinkan saya mengedit) bidang tertentu MaterialCosting.
Shawn
Apa yang terjadi ketika Anda hanya menggunakan outerCartonsebagai Sumber Rekam? Jika tabel sudah ditautkan seperti yang Anda katakan, Anda harus dapat menggunakannya tanpa menempatkan kueri di kotak teks.
CharlieRB
Apa permintaan SQL yang Anda gunakan di # 1?
CharlieRB
@CharlieRB Cukup gunakan outerCartonsebagai Sumber Rekam adalah apa yang saya lakukan di # 1. Saya mengeditnya untuk menambahkan SQL yang saya gunakan untuk itu juga. Ini menghasilkan bidang yang ada #Name?di dalamnya.
Shawn

Jawaban:

1

Saya dapat membuat ulang yang #Name?Anda lihat. Tampaknya ini hanya masalah pernyataan SQL dalam cara Anda memanggil data.

Untuk memperbaikinya, saya harus melakukan yang berikut;

  1. Untuk FORMULIR Sumber Catatan tempat SQL ini; SELECT Materials.*, MaterialCosting.* FROM Materials INNER JOIN MaterialCosting ON Materials.MaterialID = MaterialCosting.MaterialID;
  2. Sekarang Anda harus dapat memilih outerCartondari drop down untuk Sumber Rekam bidang teks.
  3. Beralih ke tampilan formulir dan lihat apakah Anda dapat memilih catatan dan mengubah nilainya.

Beri tahu saya cara kerjanya.

CharlieRB
sumber
Saya tidak melihat perbedaan antara apa yang Anda lakukan dan apa yang saya lakukan. Saya sudah memilih semuanya (*). Bagaimanapun, saya mencoba varian Anda dan tidak ada bedanya. Saya memang bisa memilih outerCartondari drop down ketika saya menggunakan gabungan dalam, tapi saya masih bisa #Name?. Apa #Name?maksudnya?
Shawn
#Name?menunjukkan nama yang digunakan untuk sumber kontrol tidak valid. Ini bisa disebabkan oleh beberapa hal. Berikut ini tautan ke informasi lebih lanjut tentang itu.
CharlieRB
Secara kebetulan, apakah kedua tabel memiliki nama bidang outerCarton?
CharlieRB
Tidak, hanya MaterialCosting yang memiliki bidang itu. Saya akan melihat tautan itu dan bertanya kepada majikan saya apakah saya dapat memposting tangkapan layar dan kemudian saya akan menghubungi Anda.
Shawn