Đánh giá chủ đề:
  • 1 Votes - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Kiểm tra hàm True, False giúp mình với
#1
Mã:
Public Function DK() As Boolean
  If (TxtA <= 0 Or TxtB > 100) Or (TxtB <= 0 Or TxtB > 100) Or (TxtC <= 0 Or TxtC > 100) Then
    MsgBox "Mot trong cac gia tri chi nam trong khoang 0-100", vbApplicationModal
    TxtA = 0: TxtB = 0: TxtC = 0
    Dk = False
Else
    Dk = True
End If
End Function

Mã:
Private Sub CmbTH_Click()
If DK() = False Then
    Exit Sub
End if
.........

Trong đây
TxtA,TxtB,TxtC là tên textbox.

Nhờ anh, chị kiểm tra giúp xem trong đoạn code trên bị lỗi gì, mà khi em nhập dữ liệu vào txtA, dù không nằm trong khoảng rằng buộc từ 0--->100 Cũng xuất hiện Msgbox báo lỗi.
Chữ ký của hondatron Xin chào, mình là hondatron, Tham gia http://thuthuataccess.com/forum từ ngày 29-09 -11.
Reply
Những người đã cảm ơn
#2
Do khi bạn nhập dữ liệu vào txta nó không hiểu là 1 số mà là 1 giá trị text.
bạn thử với txta.value hoặc chuyển sang kiểu số bằng các hàm như Cint chẳng hạn --> cint(txta) ^^!
Máy ko có access nên không test đc, không nhớ rõ nữa @@
Chữ ký của hoanglonglangtu Chiều tắt nắng trên con đường quen thuộc
Mưa rơi buồn qua ngõ vắng không em
Từng hạt ngọc rơi đùa qua kẽ lá
Những giọt tràn đầy ngõ ngách tâm tư
Em có biết chiều nay anh vẫn nhớ
Ở nơi nào em có nhớ chăng anh

Trên đời có quá nhiều chữ nếu,đáng tiếc là đều đã qua,việc đã xảy ra,hối hận cũng vô dụng
ღღღღღTài sản của hoanglonglangtu (View All Items) ღღღღღ
Reply
Những người đã cảm ơn hondatron
#3
(15-04-12, 02:48 PM)hondatron Đã viết:
Mã:
Public Function DK() As Boolean
  If (TxtA <= 0 Or TxtB > 100) Or (TxtB <= 0 Or TxtB > 100) Or (TxtC <= 0 Or TxtC > 100) Then
    MsgBox "Mot trong cac gia tri chi nam trong khoang 0-100", vbApplicationModal
    TxtA = 0: TxtB = 0: TxtC = 0
    Dieukien = False
Else
    Dieukien = True
End If
End Function

Mã:
Private Sub CmbTH_Click()
If DK() = False Then
    Exit Sub
End if
.........

Trong đây
TxtA,TxtB,TxtC là tên textbox.

Nhờ anh, chị kiểm tra giúp xem trong đoạn code trên bị lỗi gì, mà khi em nhập dữ liệu vào txtA, dù không nằm trong khoảng rằng buộc từ 0--->100 Cũng xuất hiện Msgbox báo lỗi.
Khổ bạn ghê, function tên là DK mà kết quả trả về là Dieukien thì làm sao nó không báo!
thay dieukien bằng chữ DK xem nào
Hoặc làThêm dòng sau trước dòng end function
DK= Dieukien
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn hondatron , onlyon3
#4
(15-04-12, 02:48 PM)hondatron Đã viết:
Mã:
Public Function DK() As Boolean
  If (TxtA <= 0 Or TxtB > 100) Or (TxtB <= 0 Or TxtB > 100) Or (TxtC <= 0 Or TxtC > 100) Then
    MsgBox "Mot trong cac gia tri chi nam trong khoang 0-100", vbApplicationModal
    TxtA = 0: TxtB = 0: TxtC = 0
    Dieukien = False
Else
    Dieukien = True
End If
End Function

Mã:
Private Sub CmbTH_Click()
If DK() = False Then
    Exit Sub
End if
.........

Trong đây
TxtA,TxtB,TxtC là tên textbox.

Nhờ anh, chị kiểm tra giúp xem trong đoạn code trên bị lỗi gì, mà khi em nhập dữ liệu vào txtA, dù không nằm trong khoảng rằng buộc từ 0--->100 Cũng xuất hiện Msgbox báo lỗi.

1/ Giống như Noname đã nói ở trên
2/ Thông thường hàm nên có đối số

Mã PHP:
Public Function DieuKien(numAnumBnumC) As Boolean
    
If IsNumeric(numA) = False Or IsNumeric(numB) = False Or IsNumeric(numC) = False Then
        MsgBox 
"Cac du lieu dua vao phai la so" , , "Chu y"
        
Exit Function
    Else
        If 
<= numA <=100 And <= numB <=100 And <= numC <=100 Then
            DieuKien 
True
        
Else
            
MsgBox "Cac du lieu dua vao chi duoc nam trong khoang 0-100" , , "Chu y"
            
numA 0numB 0numC=0DieuKien False
        End 
If
    
End If
End Function 

Phải dùng And trong trường hợp này, không thể dùng Or được. Bạn tự tìm hiểu vì sao nhé

Mã PHP:
Private Sub CmbTH_Click()
If 
DieuKien(txtAtxtBtxtC) = False Then
    
Exit Sub
Else
    ...........
End if 

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 Noname , hondatron
#5
Em chân thành cảm ơn các anh
@hoanglonglangtu
@NoName
@Xuanthanh
-
Mã PHP:
Public Function DieuKien(numAnumBnumC) As Boolean
    
If IsNumeric(numA) = False Or IsNumeric(numB) = False Or IsNumeric(numC) = False Then
        MsgBox 
"Cac du lieu dua vao phai la so" , , "Chu y"
        
Exit Function
    Else
        If 
<= numA <=100 And <= numB <=100 And <= numC <=100 Then
            DieuKien 
True
        
Else
            
MsgBox "Cac du lieu dua vao chi duoc nam trong khoang 0-100" , , "Chu y"
            
numA 0numB 0numC=0DieuKien False
        End 
If
    
End If
End Function 
Em đã sửa code trên theo hướng dẫn của anh, nhưng khi chạy chương trình thử với ký tự Bảng chữ cái ABC thì chưng trình đứng 1 lúc và không trả về kết quả. Với anh cho em hỏi 1 tý, em dùng hàm public Funtion với mục đích sử dụng cho toàn chưng trình có thể sử dụng thì việc khai báo
Mã PHP:
Public Function DieuKien(numAnumBnumC) As Boolean 
Thì chỉ thi hành với namA,NumB,NumC. Em nghĩ như vậy hơi hạn chế
Chữ ký của hondatron Xin chào, mình là hondatron, Tham gia http://thuthuataccess.com/forum từ ngày 29-09 -11.
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
  Cần giúp đỡ chuyển số có thập phân ra chữ ledangvan 12 635 07-11-16, 03:56 PM
Bài mới nhất: maidinhdan
  Xin giúp đỡ về VBA Access ! vocan 12 664 11-07-16, 10:45 PM
Bài mới nhất: ongke0711
  [Help] lệnh tìm kiếm và hiển thị kết quả tìm kiếm trên form tvn_hut 12 1,013 25-06-16, 12:22 AM
Bài mới nhất: zinzin8x
Photo [Thủ Thuật] Phần mềm Kiểm phiếu bầu cử đại biểu Quốc hội và HĐND các cấp trav2t 16 2,732 21-06-16, 03:37 PM
Bài mới nhất: tienpq
  [Hàm] [Demo] Hàm kiểm tra IP tắt hay mở maidinhdan 5 312 05-06-16, 12:47 AM
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ơ