Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Vấn đề thêm mới dữ liệu từ form vào table.
#1
Mình đang gặp 1 vấn đề xoay quanh việc thu học phí rất mong được mọi người giải đáp. Là như thế này:
Mình có 1 form DONGHOCPHI gồm n textbox, trong đó mình cần sử dụng 4 textbox: txtmssv, txttongtien, txtdate, txtnhanvien để thêm mới 1 record vào table DONGHOCPHI.
Với table DONGHOCPHI gồm 4 trường như trên và 1 trường autonumber, cụ thể như sau: MaHoaDon(autonumber), MSSV(textm15), ngaydong(date/time), sotien(number), thungan(text).

Vậy mình cần phải tạo button "thêm" như thế nào để làm được yêu cầu trên. Mình cũng chỉ vừa tập tành access mới được 3 4 ngày nay nên không rành, đoc giáo trình thì không thấy có đề cập gì đến cái này cả.
Mong mọi người giúp đỡ. Cảm ơn mọi người!

P/s: không biết để ở mục này đúng không, nếu không thì admin chuyển bài hộ mình nha.
Chữ ký của emptytyty Xin chào, mình là emptytyty, Tham gia http://thuthuataccess.com/forum từ ngày 16-05 -13.
Reply
Những người đã cảm ơn
#2
đoạn code cho button đó của mình như sau:


Private Sub Command18_Click()
Dim DB As Database
Dim RS As Recordset
Set DB = CurrentDb
Set RS = DB.OpenRecordset("DONGHOCPHI", dbOpenTable)
RS.AddNew
RS.Fields(1) = Me.MSSV
RS.Fields(2) = Me.txtdate 'textbox hien thi ngay hien tai cua he thong tren form
RS.Fields(3) = Me.txtNgaydong
RS.Fields(4) = Me.txtNhanvien
RS.Update
RS.Close
Set DB = Nothing
End Sub

Khi chạy thì báo lỗi ở dòng RS.Update, có phải vì mình chưa cho thông tin cho cái Fields(0), nó là kiểu autonumber nên mình không biết phải giải quyết thế nào cả040
Chữ ký của emptytyty Xin chào, mình là emptytyty, Tham gia http://thuthuataccess.com/forum từ ngày 16-05 -13.
Reply
Những người đã cảm ơn
#3
Không có Mã hóa đơn làm sao Update? Bắt buộc khi Update một Recordset là phải Update đày đủ các Field của Recordset
Thân mến
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#4
Theo mình nghĩ bạn không nên chọn mã hóa đơn là autunumber, mà là kiểu text thì mình sẽ dễ xử lý hơn.
Mình làm 2 nút, 1 nút thêm và 1 nút lưu. Khi nhấn nút THÊM thì sẽ cho mình nhập liệu, khi nhập xong thì bạn nhấn nút LƯU thì dữ liệu sẽ lưu vào table cho bạn đã chọn làm nguồn.
Đây là code của mình, gửi bạn tham khảo nhe. Vì đây là bài của mình nên bạn về sửa lại thành cơ sở dữ liệu của bạn nhe.

Nút THÊM:

Private Sub cmdthem_Click()
DoCmd.GoToRecord , , acNewRec
Me.cmdke.Enabled = False
Me.cmdtruoc.Enabled = False
Me.cmdsua.Enabled = False
Me.cmdxoa.Enabled = False
Me.cmdthoat.Enabled = True
Me.cmdluu.Enabled = True
End Sub

Nút LƯU

Private Sub cmdluu_Click()
Dim db As Database
Dim rc As Recordset
Dim cm
Dim str
Dim dung As Boolean

If IsNull(Me.stt_pt) = True Then
str = MsgBox ("So thu tu phieu thu khong duoc bo trong!", vbInformation, "Thông Báo")
Exit Sub
End If

dung = False
Set db = CurrentDb()
Set rc = db.OpenRecordset("phieuthu")
cm = Me.stt_pt.Value
Do Until rc.EOF
If rc![stt_pt] = cm Then
dung = True
End If
rc.MoveNext
Loop
rc.Close
If dung = True Then
str = MsgBox ("Phieu nay da co nay da ton tai!!Ban co muon thay the khong?", vbYesNo + vbInformation, "Thông Báo")
If str = vbYes Then
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Me.cmdthem.Enabled = True
Me.cmdtruoc.Enabled = True
Me.cmdke.Enabled = True
Me.cmdsua.Enabled = True
Me.cmdxoa.Enabled = True
Me.cmdthoat.Enabled = True
Me.AllowEdits = False
End If
Exit Sub
End If

If IsNull(Me.stt_pt) = True Or IsNull(Me.ngayghi) = True Or IsNull(Me.sotienthu) = True Or IsNull(Me.nguoighi) = True Or IsNull(Me.mahv) = True Then
str = MsgBox ("Ban can dien day du thong tin!!", vbInformation, "Thông Báo")
Exit Sub
End If

If IsNull(Me.stt_pt) = False And IsNull(Me.ngayghi) = False And IsNull(Me.sotienthu) = False And IsNull(Me.nguoighi) = False And IsNull(Me.mahv) = False And dung = False Then
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
str = MsgBox ("Ban da luu thanh cong!", vbInformation, "Thông Báo")
Me.cmdthem.Enabled = True
Me.cmdtruoc.Enabled = True
Me.cmdke.Enabled = True
Me.cmdsua.Enabled = True
Me.cmdxoa.Enabled = True
Me.cmdthoat.Enabled = True
Exit Sub
End If
End Sub
Chữ ký của maixuanthu Kiên trì và bình tĩnh sẽ giúp bạn thành công!
Reply
Những người đã cảm ơn emptytyty
#5
mình vẫn không hiểu đoạn code bạn cho lắm, bạn có thể giải thích cho mình kỹ hơn phần thêm 1 record vào bảng ko. Hôm qua giờ test nhưng vẫn chưa làm được.
Mình đã sửa mã hóa đơn thành number cho dễ dàng và đưa nó vào trong form luôn, lưu ý là dữ liệu trong form này mình lọc ra từ querry, nhưng gặp lỗi ở dòng RS.Update

1 vd đơn giản là mình có 1 table "sv" gồm mssv(text) và ten(text)
trong form có 2 textbox cùng tên và đoạn code cho button thêm mình như sau:
Private Sub Command4_Click()
Dim DB As Database
Dim RS As Recordset
Set DB = CurrentDb()
Set RS = DB.OpenRecordset("sv", dbOpenTable)
RS.AddNew
RS.Fields(0) = Me.mssv
RS.Fields(1) = Me.ten
RS.Update
MsgBox "Ðã luu thêm OK !"
RS.Close
Set DB = Nothing
End Sub
và nó báo lỗi chỗ RS.Update, không hiểu vì sao luônsad
Chữ ký của emptytyty Xin chào, mình là emptytyty, Tham gia http://thuthuataccess.com/forum từ ngày 16-05 -13.
Reply
Những người đã cảm ơn
#6
Mình đã làm thành công, cảm ơn các bạn nhiềulaughing
Chữ ký của emptytyty Xin chào, mình là emptytyty, Tham gia http://thuthuataccess.com/forum từ ngày 16-05 -13.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Tự động hiện Form khi loading hết thời gian ChiMai 1 37 02-12-16, 08:59 PM
Bài mới nhất: ongke0711
  [Help] Cập nhật combobox 2 từ combobox 1 (dữ liệu ở nhiều bảng) votinh.tq 6 199 22-11-16, 11:34 PM
Bài mới nhất: votinh.tq
Photo [Hỏi] Mở Form trên access 2007 báo lỗi jason 5 187 22-11-16, 09:23 AM
Bài mới nhất: jason
  Query hiện lên trên form? feeling 4 162 09-11-16, 09:49 PM
Bài mới nhất: toancvp
  [Help] Chỉnh giúp Form thống kê hoanghai902 2 124 28-10-16, 06:15 PM
Bài mới nhất: hoanghai902

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ