Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hướng dẫn] Vừa là nhập liêu, hoặc tự tính kết quả khi không nhập
#11
(04-07-13, 12:56 PM)bomnhauag Đã viết: Potay với bạn, để vầy sao mà nó chạy được:

Mã PHP:
Private Sub Form_KeyPress(KeyAscii As Integer)
Private 
Sub Form_KeyPress(KeyAscii As Integer)
    If 
KeyAscii 43 Then ngaybatdau DateAdd("d"1ngaybatdau)
    If 
KeyAscii 95 Then ngaybatdau DateAdd("d", -1ngaybatdau)
End Sub
End Sub 

1. Bạn chưa bật thuộc tính Key Preview Yes cho form mà sao nó chạy được:
[Hình: vpgnno]

2. Chỉnh code lại cho đúng:
Mã PHP:
Option Compare Database

Private Sub Form_KeyPress(KeyAscii As Integer)
    If 
KeyAscii 43 Then ngaybatdau DateAdd("d"1ngaybatdau)
    If 
KeyAscii 95 Then ngaybatdau DateAdd("d", -1ngaybatdau)
End Sub

Private Sub ngayketthuc_AfterUpdate()
    If 
IsDate(ngayketthucThen NGAYNGHI DateDiff("d"ngaybatdaungayketthuc)
End Sub

Private Sub NGAYNGHI_AfterUpdate()
    If 
Not IsNull(NGAYNGHIThen ngayketthuc DateAdd("d"NGAYNGHIngaybatdau)
End Sub 

3. Chỉnh thuộc tính input mask của 2 textbox: ngaybatdau ngayketthuc là: 00/00/0000 như trong hình sẽ ok thôi!

Thân!
Bạn thông cảm nhe, mình đang tự học nên kiến thức Access chưa nhiều, bạn giúp mình nhe

Cái này thì cho ngày bắt đầu thì Ok rồi.
Mà bạn ơi KeyAscii = 95 thì bấm nút trừ nó không được mình đỏi lại thành 45

Mã PHP:
Private Sub Form_KeyPress(KeyAscii As Integer)
    If 
KeyAscii 43 Then ngaybatdau DateAdd("d"1ngaybatdau)
    If 
KeyAscii 95 Then ngaybatdau DateAdd("d", -1ngaybatdau)
End Sub 

Nhưng nếu mình muốn cho ngày kết thúc thì như vậy đúng không bạn
Mã PHP:
Private Sub Form_KeyPress(KeyAscii As Integer)
    If 
KeyAscii 43 Then ngaybatdau DateAdd("d"1ngaybatdau)
    If 
KeyAscii 95 Then ngaybatdau DateAdd("d", -1ngaybatdau)
    If 
KeyAscii 43 Then ngayketthuc DateAdd("d"1ngayketthuc)
    If 
KeyAscii 95 Then ngayketthuc DateAdd("d", -1ngayketthuc)
End Sub 
Chữ ký của huuduy.duy Xin chào, mình là huuduy.duy, Tham gia http://thuthuataccess.com/forum từ ngày 24-06 -13.
ღღღღღTài sản của huuduy.duy (View All Items) ღღღღღ
Reply
Những người đã cảm ơn pnta
#12
bạn làm như vầy:
Mã PHP:
Private Sub Form_KeyPress(KeyAscii As Integer)
    If 
KeyAscii 43 Then ngaybatdau DateAdd("d"1ngaybatdau)
    If 
KeyAscii 95 Then ngaybatdau DateAdd("d", -1ngaybatdau)
    If 
KeyAscii 43 Then ngayketthuc DateAdd("d"1ngayketthuc)
    If 
KeyAscii 95 Then ngayketthuc DateAdd("d", -1ngayketthuc)
End Sub 

thì khi nhấn nút + hay - sẽ tăng và giảm 1 lượt cả 2 ngày luôn, chọn phím khác cho ngayketthuc đi là ok chứ j.016
ღღღღღTài sản của bomnhauag (View All Items) ღღღღღ
Reply
Những người đã cảm ơn huuduy.duy , pnta
#13
(05-07-13, 10:51 AM)bomnhauag Đã viết: bạn làm như vầy:
Mã PHP:
Private Sub Form_KeyPress(KeyAscii As Integer)
    If 
KeyAscii 43 Then ngaybatdau DateAdd("d"1ngaybatdau)
    If 
KeyAscii 95 Then ngaybatdau DateAdd("d", -1ngaybatdau)
    If 
KeyAscii 43 Then ngayketthuc DateAdd("d"1ngayketthuc)
    If 
KeyAscii 95 Then ngayketthuc DateAdd("d", -1ngayketthuc)
End Sub 

thì khi nhấn nút + hay - sẽ tăng và giảm 1 lượt cả 2 ngày luôn, chọn phím khác cho ngayketthuc đi là ok chứ j.016

Ý của mình là làm tăng / giảm rieng biet cho từng textbox
Chữ ký của huuduy.duy Xin chào, mình là huuduy.duy, Tham gia http://thuthuataccess.com/forum từ ngày 24-06 -13.
ღღღღღTài sản của huuduy.duy (View All Items) ღღღღღ
Reply
Những người đã cảm ơn pnta
#14
Bạn kông hiểu ý của mình ah:

Mã PHP:
Private Sub Form_KeyPress(KeyAscii As Integer)
    If 
KeyAscii 43 Then ngaybatdau DateAdd("d"1ngaybatdau)  'phím dấu + được nhấn
    If KeyAscii = 95 Then ngaybatdau = DateAdd("d", -1, ngaybatdau)  '
phím dấu được nhấn
    
If KeyAscii = <stt của phím khácThen ngayketthuc DateAdd("d"1ngayketthuc)  'bạn chọn phím nào thì để mã phím đó vô đây
    If KeyAscii = <stt của phím khác> Then ngayketthuc = DateAdd("d", -1, ngayketthuc)
End Sub 

khi đó nhấn phím + thì chỉ có ngaybaydau tăng thôi hà.
ღღღღღTài sản của bomnhauag (View All Items) ღღღღღ
Reply
Những người đã cảm ơn pnta
#15
(05-07-13, 11:23 AM)bomnhauag Đã viết: Bạn kông hiểu ý của mình ah:

Mã PHP:
Private Sub Form_KeyPress(KeyAscii As Integer)
    If 
KeyAscii 43 Then ngaybatdau DateAdd("d"1ngaybatdau)  'phím dấu + được nhấn
    If KeyAscii = 95 Then ngaybatdau = DateAdd("d", -1, ngaybatdau)  '
phím dấu được nhấn
    
If KeyAscii = <stt của phím khácThen ngayketthuc DateAdd("d"1ngayketthuc)  'bạn chọn phím nào thì để mã phím đó vô đây
    If KeyAscii = <stt của phím khác> Then ngayketthuc = DateAdd("d", -1, ngayketthuc)
End Sub 

khi đó nhấn phím + thì chỉ có ngaybaydau tăng thôi hà.

Không phải bạn ơi, ý của mình là khi chọn Ngày bắt đầu và bấm phím +/- thi nó chỉ tăng giảm ngày bắt đầu thôi (ngay kết thúc vẫn không thay đổi)
Khi chọn ngày kết thúc và bấm phím +/- thi nó chỉ tăng giảm ngày kết thúc thôi
Chữ ký của huuduy.duy Xin chào, mình là huuduy.duy, Tham gia http://thuthuataccess.com/forum từ ngày 24-06 -13.
ღღღღღTài sản của huuduy.duy (View All Items) ღღღღღ
Reply
Những người đã cảm ơn pnta
#16
Mã PHP:
Option Compare Database
Dim i 
as byte

Private Sub ngaybatdau_GotFocus()
    
1
End Sub

Private Sub ngaybatdau_LostFocus()
    
0
End Sub

Private Sub ngayketthuc_GotFocus()
    
2
End Sub

Private Sub ngayketthuc_LostFocus()
    
0
End Sub


Private Sub Form_KeyPress(KeyAscii As Integer)
select case i
case 1
    
If KeyAscii 43 Then ngaybatdau DateAdd("d"1ngaybatdau)  'phím dấu + được nhấn
    If KeyAscii = 95 Then ngaybatdau = DateAdd("d", -1, ngaybatdau)  '
phím dấu được nhấn
case 2
    
If KeyAscii 43 Then ngayketthuc DateAdd("d"1ngayketthuc)  
    If 
KeyAscii 95 Then ngayketthuc DateAdd("d", -1ngayketthuc)
end select
End Sub 

bạn dùng biến i để kiểm soát xem con nháy đang ở đâu để mà biết tăng thằng nào nhé.
khi ngaybatdau có được con nháy (GotFocus) thì bật i lên, khi nó mất con nháy (LostFocus) thì hạ i xuống. tương tự cho ngayketthuc.

dựa vào i thì biết là con nháy đang ở xứ nào mà tăng ngày cho nó đúng. kiểm tra lại và phát triển thêm bạn nhé !! ^^
ღღღღღTài sản của bomnhauag (View All Items) ღღღღღ
Reply
Những người đã cảm ơn huuduy.duy , pnta
#17
(04-07-13, 12:56 PM)bomnhauag Đã viết: Potay với bạn, để vầy sao mà nó chạy được:

Mã PHP:
Private Sub Form_KeyPress(KeyAscii As Integer)
Private 
Sub Form_KeyPress(KeyAscii As Integer)
    If 
KeyAscii 43 Then ngaybatdau DateAdd("d"1ngaybatdau)
    If 
KeyAscii 95 Then ngaybatdau DateAdd("d", -1ngaybatdau)
End Sub
End Sub 

1. Bạn chưa bật thuộc tính Key Preview Yes cho form mà sao nó chạy được:
[Hình: vpgnno]

2. Chỉnh code lại cho đúng:
Mã PHP:
Option Compare Database

Private Sub Form_KeyPress(KeyAscii As Integer)
    If 
KeyAscii 43 Then ngaybatdau DateAdd("d"1ngaybatdau)
    If 
KeyAscii 95 Then ngaybatdau DateAdd("d", -1ngaybatdau)
End Sub

Private Sub ngayketthuc_AfterUpdate()
    If 
IsDate(ngayketthucThen NGAYNGHI DateDiff("d"ngaybatdaungayketthuc)
End Sub

Private Sub NGAYNGHI_AfterUpdate()
    If 
Not IsNull(NGAYNGHIThen ngayketthuc DateAdd("d"NGAYNGHIngaybatdau)
End Sub 

3. Chỉnh thuộc tính input mask của 2 textbox: ngaybatdau ngayketthuc là: 00/00/0000 như trong hình sẽ ok thôi!

Thân!
Bạn ơi cho mình hỏi làm sao minh có thể chọ giá trị cột 2 trong Combobox trên Form vậy? Mình chỉnh Bound culumn = 2 nhưng không được. File mình nè! Chọn cột 2 trong ComboboxCám ơn bạn nhiều
Chữ ký của huuduy.duy Xin chào, mình là huuduy.duy, Tham gia http://thuthuataccess.com/forum từ ngày 24-06 -13.
ღღღღღTài sản của huuduy.duy (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#18
Đây là kết quả tính toán dữ liệu ngày:
Ngày + Ngày = số ngày (01/01/2013 + 03/01/2013 = 2)
Ngày - Ngày = số ngày (04/01/2013 - 03/01/2013 = 10
Ngày + số = Ngày (01/01/2013 + 4 = 05/01/2013)
Ngày - số = Ngày (01/01/2013 - 1 = 31/12/2012)
Reply
Những người đã cảm ơn huuduy.duy
#19
(06-07-13, 11:25 PM)huuduy.duy Đã viết: Bạn ơi cho mình hỏi làm sao minh có thể chọ giá trị cột 2 trong Combobox trên Form vậy? Mình chỉnh Bound culumn = 2 nhưng không được. File mình nè! Chọn cột 2 trong ComboboxCám ơn bạn nhiều

Bạn chỉ h lại như sau thử xem nhé:
Bound culumn = 1
Column Count = 2
Column Width = 0;2

Thân!
ღღღღღTài sản của bomnhauag (View All Items) ღღღღღ
Reply
Những người đã cảm ơn huuduy.duy , paulsteigel
#20
(07-07-13, 09:03 AM)bomnhauag Đã viết: Bạn chỉ h lại như sau thử xem nhé:
Bound culumn = 1
Column Count = 2
Column Width = 0;2
Thân!

Xin phép vắt thêm tí chanh cho chua nhé...
Bound Column: Giá trị mà combo/listbox trả về khi người dùng chọn 1 mục. Nếu mục này để là 1 thì Combo/Listbox sẽ lấy giá trị ứng với dòng đã chọn trong danh sách, tại cột 1.
Column Count: Số cột dữ liệu của Combo/listbox
Column Width: Độ rộng cột, phân cách với nhau bằng dấu ";". Nếu muốn ẩn cột nào thì cho giá trị cột đó bằng 0.
Quay lại ví dụ của bạn, nếu cboKhohang có
Mã PHP:
Rowsource làSELECT tblKhohang.KhohangtblKhohang.TenKho FROM tblKhohang
Column Count2
Bound Coumn
:1
Column Width 
0;
Thì, mặc dù, trong combo, ta chọn "Kho Hàng điện gia dụng", nhưng đưa về dữ liệu nó lại trả lại kết quả là Y02 (mã kho "Kho Hàng điện gia dụng" là Y02).
Khi đó nếu ta lấy Msgbox cboKhohang , nó sẽ thông báo là Y02 thay vì "Kho Hàng điện gia dụng".
Nếu muốn trả về cái ta cần nhìn thì phải dùng cái này cboKhohang.Column(1)
Mã PHP:
Hichay nhỉ rõ ràng có 2 cột mà tham chiếu lại là 1. Vậy trường khóa của combo trong bounfcolum là mấy?
Câu trả lời cboKhohang.[b]Column(0)[/bsẽ trả về giá trị Y02
Đấy là điểm đáng lưu ý trong tham chiếu kết quả của combo và listbox nhé.
Vì 2 điều khiển này nó quản lý giá trị theo cấu trúc mảng và bắt đầu từ phần tử đầu tiên có số thứ tự là 0.
Vậy nếu muốn lấy phần tử cuối cùng của danh sách, ta phải dùng
Mã PHP:
cboKhohang.Column(1cboKhohang.ListCount 1'- trả về tên bằn chữ của kho hàng
cboKhohang.Column(1) '
trả về mã kho hàng.
Cú pháp là  cboKhohang.Column(Cột,[Dòng]) 
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Reply
Những người đã cảm ơn bomnhauag


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  copy dữ liệu excel vào access có kí tự xuống dòng babyrock2009 2 84 01-12-16, 11:16 AM
Bài mới nhất: babyrock2009
  [Help] [Hàm] Lấy dữ liệu giữa 2 file Access có cùng cấu trúc table trungminh 22 1,253 08-10-16, 12:08 AM
Bài mới nhất: maidinhdan
  [Help] So sánh 2 Table Lấy ra dữ liệu trùng nhau sang 1 table có sẳn khác thdanh 21 1,679 19-07-16, 04:21 PM
Bài mới nhất: maidinhdan
  [Help] ràng buộc dữ liệu giữa 2 field trong 2 bảng khác nhau hoangtiep 5 281 08-07-16, 05:07 PM
Bài mới nhất: maidinhdan
  Chuyển dữ liệu từ bảng A qua bảng B có chọn lọc bdbqn2007 5 376 08-06-16, 11:36 PM
Bài mới nhất: maidinhdan

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ơ