huynhvanthong

New Member
Bạn thêm 1 lệnh filterOn nữa thì nó mới chạy.
Bởi vì khi bạn gán lại giá trị Filter thì nó cũng vừa lọc rồi, nhưng nó chưa refresh lại màn hình , con trỏ bản ghi vẫn đang nằm ngay tại record cũ.
Chỉ khi có 1 lệnh nào đó làm di chuyển sang record khác thì lúc đó nó mới ngó lại điều kiện filter để làm.

subform_giaonhan.Filter = "so_tham_chieu = ' " & Combo0.Value & " ' "
subform_giaonhan.FilterOn = True

2 câu liên tiếp nhau.
 

Baron

New Member
Nó vẫn báo method or data member not found ở chỗ subform_giaonhan.Filter đó anh. Em coi lại kỹ lắm rồi, em bất có gõ sai gì hết á
 

roselove_456

New Member
Trích:
Nguyên văn bởi nhocmaruko20 Nó vẫn báo method or data member not found ở chỗ subform_giaonhan.Filter đó anh. Em coi lại kỹ lắm rồi, em bất có gõ sai gì hết á
Bạn đặt cái combo0 đó ở đâu?
Nếu đặt ở Form khách hàng thì lấy câu 1 của bạn:

Me.subform_giaonhan.Form.Filter = "so_tham_chieu = " & Me.Combo0 (cái này em search có người làm được rùi mà sao em làm bất được vậy??)

Và nhớ thêm filterOn:

Me.subform_giaonhan.Form.FilterOn = True
 

Tennyson

New Member
Cho em hỏi thêm là khi em muốn làm ra (tạo) them combobox để tìm kiếm tương tự như combo0 này, cũng tìm và hiện ra trên subform_giaonhan, giả sử như em làm ra (tạo) cboKH để tìm khách hàng và hiển thị trên subform_giaonhan cũng các thông tin như vậy nhưng filter theo khach_hang. Em làm tương tự như vậy nhưng bất được, chỉ chọn theo combo0 thì được còn chọn qua cboKH thì subform bất thay đổi gì access báo "can't find the macro "True", the macro doesn't exist, or the macro is new but isnot saved...". Em cũng tìm cách gotfocus qua combo kia khi chuyển tiêu chí chọn (theo khach_hang hay theo so_tham_chieu) nhưng bất được. Mọi người chỉ em với. Vô cùng cảm ơn. Em bị rối rồi bất hiểu vì sao nữa
 

Thj_thj

New Member
Em làm được phần tìm kiếm với cả 2 combobox rùi nhưng khi chuyển giữa 2 combo (chuyển tiêu chí tìm kiếm) nó bị báo như em nói đóMs office Access can't find the macro "True"the macro (or its macro group) doesn't exist, or the macro is new but hasnot been saved. Note that when you enter a macrogroupname.macroname syntax in an argument, you must specify the name the macro 's macro group was last saved under.code của em như sau:private Sub Combo0_AfterUpdate()Me!subform_giaonhan.Visible = TrueMe.subform_giaonhan.Form.Filter = "so_tham_chieu = " & Me.Combo0Me.subform_giaonhan.Form.FilterOn = TrueEnd SubPrivate Sub Combo14_AfterUpdate()Me!subform_giaonhan.Visible = TrueMe.subform_giaonhan.Form.Filter = "khach_hang = " & Chr(34) & Me.Combo14 & Chr(34)Me.subform_giaonhan.Form.FilterOn = TrueEnd SubEm thử làm gotfocus cho event beforeupdate cho combo14Private Sub Combo14_BeforeUpdate(Cancel As Integer)Combo14.GotFocusEnd Subnhưng bị báo lỗi method or data member not found ở gotfocus. Ai chỉ em với. thanks nhìu nhìuCho em hỏi thêm mẫu câu lệnh để lấy giá trị dạng date là gì? sao em viết nó báo sai dạng, sửa đủ kiểu mà bất được Me.subform_giaonhan.Form.Filter = "ngay_nhan = # "&me.Combo18& " # "
 

gameover.chuot

New Member
Trích:
Nguyên văn bởi nhocmaruko20 Em làm được phần tìm kiếm với cả 2 combobox rùi nhưng khi chuyển giữa 2 combo (chuyển tiêu chí tìm kiếm) nó bị báo như em nói đó

Ms office Access can't find the macro "True"
the macro (or its macro group) doesn't exist, or the macro is new but hasnot been saved. Note that when you enter a macrogroupname.macroname syntax in an argument, you must specify the name the macro 's macro group was last saved under.
Bạn rà lại hết các properties xem chỗ nào có chứa chữ "True" thì dừng lại ngẫm nghĩ xem có phải chỗ đó cần ghi là "True" hay chỗ đó nó đòi hỏi phải là tên của 1 object hay tên của 1 sub, function, macro ...

Trích:
Nguyên văn bởi nhocmaruko20 code của em như sau:

Private Sub Combo0_AfterUpdate()
Me!subform_giaonhan.Visible = True
Me.subform_giaonhan.Form.Filter = "so_tham_chieu = " & Me.Combo0
Me.subform_giaonhan.Form.FilterOn = True
End Sub

Private Sub Combo14_AfterUpdate()
Me!subform_giaonhan.Visible = True
Me.subform_giaonhan.Form.Filter = "khach_hang = " & Chr(34) & Me.Combo14 & Chr(34)
Me.subform_giaonhan.Form.FilterOn = True
End Sub
Đoạn code này bất thấy có gì đáng nghi.

Trích:
Nguyên văn bởi nhocmaruko20 Em thử làm gotfocus cho event beforeupdate cho combo14

Private Sub Combo14_BeforeUpdate(Cancel As Integer)
Combo14.GotFocus
End Sub

nhưng bị báo lỗi method or data member not found ở gotfocus. Ai chỉ em với. thanks nhìu nhìu
Hãy thử gọi tên rõ ràng hơn, chẳng hạn Me.Combo14...
Hãy thử dùng SetFocus thay vì GotFocus.

Trích:
Nguyên văn bởi nhocmaruko20 Cho em hỏi thêm mẫu câu lệnh để lấy giá trị dạng date là gì? sao em viết nó báo sai dạng, sửa đủ kiểu mà bất được
Me.subform_giaonhan.Form.Filter = "ngay_nhan = # "&me.Combo18& " # "
Kiểm tra kỹ xem Rowsouce là mấy cột, và Bound Column là cột nào.
Có thể source là "Select col1, col2 .. From ..." mà bound lại lấy cột khác, bất phải cột ngày_nhận.

Cái dấu "#" để sát đừng cách ra 1 khoảng trống, còn dấu "&" thì cách ra rõ ràng:
Me.subform_giaonhan.Form.Filter = "ngay_nhan = #" & me.Combo18 & "#"
 

Verrall

New Member
Em làm lại với setFocus:private Sub Combo14_BeforeUpdate(Cancel As Integer)Me.Combo14.SetFocusEnd SubNhưng lại bị báo lỗi khác nữa "You must save the field before you execute the GoToControl action, then GoToControl method or the SetFocus method"Còn ngay_nhan em kiểm tra lại kỹ rồi. Rowsource: Select Table1.ngay_nhan FROM Table1 ORDER BY [ngay_nhan];Bound collums: 1Code bất báo lỗi nhưng cũng k tìm theo ngay_nhan luôn, còn 3 cái kia thì okMe.subform_giaonhan.Form.Filter = "ngay_nhan = #" & me.Combo18 & "#"Cho em hỏi thêm là bên chỗ combobox khi em để trên table các giá trị tương tự nhau, ví dụ như mỗi số tham chiếu sẽ có nhiều thiết bị đi cùng nên em sẽ làm mỗi hàng 1 thiết bị còn số tham chiếu tương tự nhau, thế là combo cũng hiện ra 1 mớ giá trị tương tự nhau khi kéo xuống. Giờ em làm sao để nó chỉ hiện ra 1 giá trị 1 2 3 4...thay vì 1 1 1 2 2 3 3 3 4 4 4 4......
 

badb0y.online

New Member
Trích:
Nguyên văn bởi nhocmaruko20 Em làm lại với setFocus:

Private Sub Combo14_BeforeUpdate(Cancel As Integer)
Me.Combo14.SetFocus
End Sub

Nhưng lại bị báo lỗi khác nữa "You must save the field before you execute the GoToControl action, then GoToControl method or the SetFocus method"

Còn ngay_nhan em kiểm tra lại kỹ rồi.
Rowsource: Select Table1.ngay_nhan FROM Table1 ORDER BY [ngay_nhan];
Bound collums: 1

Code bất báo lỗi nhưng cũng k tìm theo ngay_nhan luôn, còn 3 cái kia thì ok
Me.subform_giaonhan.Form.Filter = "ngay_nhan = #" & me.Combo18 & "#"

Cho em hỏi thêm là bên chỗ combobox khi em để trên table các giá trị tương tự nhau, ví dụ như mỗi số tham chiếu sẽ có nhiều thiết bị đi cùng nên em sẽ làm mỗi hàng 1 thiết bị còn số tham chiếu tương tự nhau, thế là combo cũng hiện ra 1 mớ giá trị tương tự nhau khi kéo xuống. Giờ em làm sao để nó chỉ hiện ra 1 giá trị 1 2 3 4...thay vì 1 1 1 2 2 3 3 3 4 4 4 4......
Lỗi này chỉ xảy ra khi bạn dùng một form có RecordSource = với RowSource của combo box + combo box này có Control Source.

Kiểm tra lại đi.

Khi viết, đừng bắt tay làm liền, mà phải chuẩn bị logic, chứ làm như bạn thì hễ viết ra một câu là sai một câu, sửa cái sai này lại xuất hiện cái sai khác thì ... bao giờ cho đến tháng Mười ????

Muốn nó unique dữ liệu thì câu select ở Row Source nên có dạng:

SELECT DISTINCT fieldlist FROM table
 
Trích:
Nguyên văn bởi nhocmaruko20
Dù sao cũng Thank anh phatnq nhiều, nhưng lỗi recordsource của form trùng với rowsource của combo em nghĩ bất phải, vì em làm search theo 4 cái so_tham_chieu, khach_hang, ngay_nhan, thiet_bi, làn như nhau, chỉ khác kiểu dữ liệu thôi, mà 3 cái kia thì được hết chỉ có ngay_nhan bất báo lỗi gì hết nhưng nó cũng bất hiển thị dữ liệu ra như mình cần



em up file lên cho dễ nói hén. e cũng kiểm tra lại properties rồi vì em chọn combo từ field đó rồi lọc giá trị hiển thị nên đương nhiên subform sẽ có recordsource = rowsource của combo nhưng như em vừa nói thì 3 cái kia em cũng làm y chang vậy mà k sao hết, vẫn chạy bình thường
Bạn mở propreties của cái combo ấy lên sẽ thấy event AfterUpdate bạn vừa không gán vào đâu cả.
Mặc dù trên VBE bạn có đoạn Sub combo18_AfterUpdate nhưng đoạn sub đó sẽ bất được gọi vì trong design vừa không báo để sử dụng nó.
 

anh_peo

New Member
Hic, hôm qua bị khùng nên nói tùm lum. Ân hận quá. Thỉnh thoảng lại bất kiểm soát được lời nói. Thank bác muontennguoi nhieu nha. Em viết bài này để Thank ở đây thôi chứ k Thank được, máy em bị sao á, không member k đọc được bài bác muontennguoi mới post lên, để ở visistor mới đọc được. Thank tất cả người và cả lời khuyên của bác Phát :D. Hôm qua nói năng hơi bị láo (hay quá láo :p). Mỗi người một cách học mà. hì. máy dạo này nó tưng tưng phát bực, hôm qua stress nữa nên ai đụng không là cắn à. hehe. Chắc phải đọc thêm sách rùi. Ai có access 2003 Nguyến Sơn Hải phần 2 gửi cho em với nha, tài liệu nào cụ thể hơn về lập trình VBA càng tốt, mò mò kiểu này cũng cực :D
 

Các chủ đề có liên quan khác

Top