Nhờ anh chị sửa giúp code "Nhập và sửa dữ liệu" với ạ (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

lexuantruong

Thành viên chính thức
Tham gia
27/11/08
Bài viết
65
Được thích
3
nội dung như trên tiêu đề ạ, em chẳng biết phải sửa ntn cả,trong file toàn cóp nhặt từ các file khác về để chạy thì thấy ok hết ( riêng phần Hạn Dùng còn bị lỗi Ngày tháng năm), còn phần sửa dữ liệu thì em potay.com rồi

- ở phần Nhập Dữ Liệu thì ở ô Hạn dùng sau khi điền đầy đủ thông tin bấm Nhập Dữ Liệu thì ở phần Hạn Dùng hiển thị sai ngày tháng năm
- ở phần Sửa dữ liệu, khi tìm kiếm thuốc cần sửa thì nó không sửa mà lại thêm 1 dòng khác-+*/

nếu có thể anh chị viết lại code cho file này thì càng tốt ạ. đặc biệt chỗ nhập ngày tháng năm hay bị lộn ngược từ dd/mm/yyyy thành mm/dd/yyyy, anh chị sửa giúp em sau khi nhập sẽ định dạng lại dd/mm/yyyy luôn được không ạ, em cám ơn anh chị.....
 
em làm theo ý của anh là thêm cột STT, phần sửa dữ liệu thì ok rồi, nhưng còn vấn đề ngày tháng chỗ Hạn dùng sau khi cập nhập bị ngược thành mm/dd/yyyy, anh sửa lại giúp em thành dd/mm/yyyy sau khi cập nhập dc k anh
Bạn vui lòng xem lại #3 dùm mình.
 
Upvote 0
Bạn vui lòng xem lại #3 dùm mình.

em đã xem #3 nhưng vẫn k sửa dc, anh xem file #19 xem trong code sửa như thế nào để về dạng dd/mm/yyyy

Tôi thấy bạn rất thích Form, mặt khác tôi cũng khá bận nên không theo dõi yêu cầu của bạn được. Hơn nữa, trong file của bạn có đối tượng mà Exc của tôi không Load được. Vậy tôi viết 1 ví dụ bạn tham khảo. Tất cả trong 1 dễ Qlý.

file của anh cũng thấy gọn, nhưng vẫn bị lỗi nhập ngày tháng dd/mm/yyyy thành mm/dd/yyyy
 
Upvote 0
Private Sub cma_Click()
On Error Resume Next
With Sheet28.[A:A].Find(txt1, , xlValues, xlWhole)
.Offset(, 0) = txt1
.Offset(, 1) = txt2
.Offset(, 2) = txt3
.Offset(, 3) = txt4
.Offset(, 4) = txt5
.Offset(, 5) = txt6
.Offset(, 6) = txt7
.Offset(, 7) = txt8
.Offset(, 8) = txt9
.Offset(, 9) = txt10
.Offset(, 10) = txt11
End With
End Sub


Code này để ghi bạn nhé
 
Upvote 0
Private Sub cma_Click()
On Error Resume Next
With Sheet28.[A:A].Find(txt1, , xlValues, xlWhole)
.Offset(, 0) = txt1
.Offset(, 1) = txt2
.Offset(, 2) = txt3
.Offset(, 3) = txt4
.Offset(, 4) = txt5
.Offset(, 5) = txt6
.Offset(, 6) = txt7
.Offset(, 7) = txt8
.Offset(, 8) = txt9
.Offset(, 9) = txt10
.Offset(, 10) = txt11
End With
End Sub


Code này để ghi bạn nhé

Code này mà sửa tên thuốc thì "tèo". Mà cũng có thể có nhiều lô 1 loại thuốc thì sao?
 
Upvote 0
Sorry bạn dạo này mình hơi bận nên trả lời bạn hơi lâu ! Bạn xem thử và test nha !

vẫn chưa dc anh ơi, sau khi tìm kiếm thuốc ( ví dụ: alaxan ) sửa lại hạn dùng thì vẫn bị ngược ngày tháng.

em dùng hàm CDate thì ngày tháng hiện đúng sau khi sửa, nhưng khổ nỗi nếu em xóa hạn dùng, để trống thì bị báo lỗi.
anh xem có cách nào giải quyết dc k?
Mã:
Private Sub CM_SuaDuLieu_Click()

 '====================================================
If Trim(Me.TextBox1.Text) = "" Then
 Dim iRow As Long, i As Long, MyCtrls()
   MyCtrls = Array(TB_STT, TB_TenThuoc, TB_DonVi, TB_DonGia, TB_SoLo, TB_SoDangKy, TB_HanDung, TB_HoaDonThuong, TB_HoaDonDo)
  Range("ListBoxThuoc").Offset(ListBox1.ListIndex).Resize(1).Value = MyCtrls
   For i = 0 To 8
     MyControls(i).Text = ""
Next
TB_HanDung = Format(Me.TB_HanDung, "dd/mm/yyyy")
Exit Sub
Else
 Dim dong As Long, Gttim As String, gim As String
    Gttim = Trim(Me.TB_STT.Value)
  dong = Sheet1.Range("A:A").Find(Gttim, LookIn:=xlValues).Row
                Sheet1.Cells(dong, 1).Value = Me.TB_STT.Value
                Sheet1.Cells(dong, 2).Value = Me.TB_TenThuoc.Value
                Sheet1.Cells(dong, 3).Value = Me.TB_DonVi.Value
                Sheet1.Cells(dong, 4).Value = Me.TB_DonGia.Value
                Sheet1.Cells(dong, 5).Value = Me.TB_SoLo.Value
                Sheet1.Cells(dong, 6).Value = Me.TB_SoDangKy.Value
[COLOR=#ff0000]                Sheet1.Cells(dong, 7).Value = CDate(Me.TB_HanDung)[/COLOR]
                Sheet1.Cells(dong, 8).Value = Me.TB_HoaDonThuong.Value
                Sheet1.Cells(dong, 9).Value = Me.TB_HoaDonDo.Value
                End If
                Call TextBox1_Change
   Me.TextBox1.SetFocus
   MsgBoxUni Range("IT1").Value, vbInformation, Range("IU1").Value
End Sub
 
Upvote 0
vẫn chưa dc anh ơi, sau khi tìm kiếm thuốc ( ví dụ: alaxan ) sửa lại hạn dùng thì vẫn bị ngược ngày tháng.

em dùng hàm CDate thì ngày tháng hiện đúng sau khi sửa, nhưng khổ nỗi nếu em xóa hạn dùng, để trống thì bị báo lỗi.
anh xem có cách nào giải quyết dc k?
Mã:
Private Sub CM_SuaDuLieu_Click()

 '====================================================
If Trim(Me.TextBox1.Text) = "" Then
 Dim iRow As Long, i As Long, MyCtrls()
   MyCtrls = Array(TB_STT, TB_TenThuoc, TB_DonVi, TB_DonGia, TB_SoLo, TB_SoDangKy, TB_HanDung, TB_HoaDonThuong, TB_HoaDonDo)
  Range("ListBoxThuoc").Offset(ListBox1.ListIndex).Resize(1).Value = MyCtrls
   For i = 0 To 8
     MyControls(i).Text = ""
Next
TB_HanDung = Format(Me.TB_HanDung, "dd/mm/yyyy")
Exit Sub
Else
 Dim dong As Long, Gttim As String, gim As String
    Gttim = Trim(Me.TB_STT.Value)
  dong = Sheet1.Range("A:A").Find(Gttim, LookIn:=xlValues).Row
                Sheet1.Cells(dong, 1).Value = Me.TB_STT.Value
                Sheet1.Cells(dong, 2).Value = Me.TB_TenThuoc.Value
                Sheet1.Cells(dong, 3).Value = Me.TB_DonVi.Value
                Sheet1.Cells(dong, 4).Value = Me.TB_DonGia.Value
                Sheet1.Cells(dong, 5).Value = Me.TB_SoLo.Value
                Sheet1.Cells(dong, 6).Value = Me.TB_SoDangKy.Value
[COLOR=#ff0000]                Sheet1.Cells(dong, 7).Value = CDate(Me.TB_HanDung)[/COLOR]
                Sheet1.Cells(dong, 8).Value = Me.TB_HoaDonThuong.Value
                Sheet1.Cells(dong, 9).Value = Me.TB_HoaDonDo.Value
                End If
                Call TextBox1_Change
   Me.TextBox1.SetFocus
   MsgBoxUni Range("IT1").Value, vbInformation, Range("IU1").Value
End Sub
Uhn Mình kiểm tra lại rồi ! bạn nhấp vao cái calendar xóa hết code sửa lại như vậy (lưu ý ko nên thay đổi bất kỳ dòng code nào từ file minh gởi cho bạn ở #25)
Me.TB_HanDung.Text = Calendar1.Value
Calendar1.Visible = False
 
Lần chỉnh sửa cuối:
Upvote 0
Uhn Mình kiểm tra lại rồi ! bạn nhấp vao cái calendar xóa hết code sửa lại như vậy (lưu ý ko nên thay đổi bất kỳ dòng code nào từ file minh gởi cho bạn ở #25)
Me.TB_HanDung.Text = Calendar1.Value
Calendar1.Visible = False

vấn đề thật nan giải, em thay đoạn này
Mã:
Private Sub Calendar1_Click()  IDATE = Calendar1.Value
  Me.TB_HanDung.Text = Format(IDATE, "dd/mm/yyyy")
  Calendar1.Visible = False
End Sub

Bằng cái này
Mã:
Private Sub Calendar1_Click()Me.TB_HanDung.Text = Calendar1.Value
Calendar1.Visible = False
End Sub

nó cũng vẫn như thế, ngày tháng lộn ngược -+*/
 
Upvote 0
vấn đề thật nan giải, em thay đoạn này
Mã:
Private Sub Calendar1_Click()  IDATE = Calendar1.Value
  Me.TB_HanDung.Text = Format(IDATE, "dd/mm/yyyy")
  Calendar1.Visible = False
End Sub
Bằng cái này
Mã:
Private Sub Calendar1_Click()Me.TB_HanDung.Text = Calendar1.Value
Calendar1.Visible = False
End Sub
nó cũng vẫn như thế, ngày tháng lộn ngược -+*/
Bạn test thử file này xem, mình đã test thấy ok rồi . Nếu bạn vẫn bị lỗi vui lòng nói rõ lỗi ở chỗ nào
+ lúc nhập vào ?
+ lúc sữa dữ liệu
+ hay luc tìm kiếm xong rồi sửa ...
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn test thử file này xem, mình đã test thấy ok rồi . Nếu bạn vẫn bị lỗi vui lòng nói rõ lỗi ở chỗ nào
+ lúc nhập vào ?
+ lúc sữa dữ liệu
+ hay luc tìm kiếm xong rồi sửa ...

bị lỗi ở dòng màu đỏ, tìm kiếm xong rồi sửa.

ví dụ: nhập vào ô tìm kiếm tên thuốc là ASA, sau đó sửa hạn dùng của thuốc là 08/03/2016, bấm Sửa Dữ Liệu thì ngày tháng đổi thành 03/08/2016

anh test thử có bị vậy k?
 
Upvote 0
bị lỗi ở dòng màu đỏ, tìm kiếm xong rồi sửa.

ví dụ: nhập vào ô tìm kiếm tên thuốc là ASA, sau đó sửa hạn dùng của thuốc là 08/03/2016, bấm Sửa Dữ Liệu thì ngày tháng đổi thành 03/08/2016

anh test thử có bị vậy k?
File của bạn thực sự sửa xong muốn xĩu ! ko dám ý kiến gì nữa miễn sao ra kết quả theo ý của bạn la dc ! bạn test nha có gì mình tính tiếp @@
 

File đính kèm

Upvote 0
File của bạn thực sự sửa xong muốn xĩu ! ko dám ý kiến gì nữa miễn sao ra kết quả theo ý của bạn la dc ! bạn test nha có gì mình tính tiếp @@

anh ơi, giúp em 1 tí xíu nữa thôi, file này chạy trên laptop thì listbox hiện đúng dữ liệu ngày tháng năm, nhưng khi chuyển qua máy PC thì ngày tháng trên listbox chỉ hiện toàn số k à ( trong file excel đã format cột Hạn dùng thành dd/mm/yyyy), bây giờ khắc phục sao anh.

hình này là lúc chưa tìm kiếm
1.jpg

hình này là lúc tìm kiếm rồi
2.jpg
 
Upvote 0
anh ơi, giúp em 1 tí xíu nữa thôi, file này chạy trên laptop thì listbox hiện đúng dữ liệu ngày tháng năm, nhưng khi chuyển qua máy PC thì ngày tháng trên listbox chỉ hiện toàn số k à ( trong file excel đã format cột Hạn dùng thành dd/mm/yyyy), bây giờ khắc phục sao anh.

hình này là lúc chưa tìm kiếm
View attachment 167328

hình này là lúc tìm kiếm rồi
View attachment 167329
Đầu tiên bạn phải kiểm tra cái đồng hồ năm ở góc phải xem nó hiện thị la dd/mm/yyyy hay mm/dd/yyyy lúc trược mình sơ ý ko hỏi bạn vụ này !
thứ 2 bạn sử dụng trên pc version office bao nhiêu?
Thực ra khi mình sữa file này trên laptop và lúc trước mình cố ý ép sai cho code để ra kết quả ngược lại
Sheet1.Cells(dong, 7).Value = Format(Me.TB_HanDung.Value, "mm/dd/yyyy")
 
Upvote 0
Đầu tiên bạn phải kiểm tra cái đồng hồ năm ở góc phải xem nó hiện thị la dd/mm/yyyy hay mm/dd/yyyy lúc trược mình sơ ý ko hỏi bạn vụ này !
thứ 2 bạn sử dụng trên pc version office bao nhiêu?
Thực ra khi mình sữa file này trên laptop và lúc trước mình cố ý ép sai cho code để ra kết quả ngược lại
Sheet1.Cells(dong, 7).Value = Format(Me.TB_HanDung.Value, "mm/dd/yyyy")

- cái đồng hồ góc dưới vẫn hiển thị dd/mm/yyyy
- office em dùng là Office Professional 2010
- dùng trên máy PC win XP
 
Upvote 0
anh ơi, giúp em 1 tí xíu nữa thôi, file này chạy trên laptop thì listbox hiện đúng dữ liệu ngày tháng năm, nhưng khi chuyển qua máy PC thì ngày tháng trên listbox chỉ hiện toàn số k à ( trong file excel đã format cột Hạn dùng thành dd/mm/yyyy), bây giờ khắc phục sao anh.

hình này là lúc chưa tìm kiếm
View attachment 167328

hình này là lúc tìm kiếm rồi
View attachment 167329


anh chị nào ghé qua giải quyết vấn đề này giúp em với **~**
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom