第一次!没有人来拿分!!!

sswwood 2000-03-21 09:20:00
我再这里第一次遇到提出问题一天了,却没有人来回答!
只好再贴一次!请您留下名字,我会把前面的分数一起付给您!

(1)我想把我的文本框设计成只可以输入3位,
第一位为大写字母或数字,第2、3位为数字,
并且第一位输入字母为小写时自动转换为大写,
限制其他的字符输入。
(2)如何在文本框中输入20000203时自动转换成2000/02/03的格式。
(3)如何在一个文本框输入完指定的长度后,
自动跳到下一个指定的文本框(两个文本框的顺序不是紧挨着的)

(4)我要根据 [客户ID.Text]、[产品ID.Text]、[生产ID.Text]、[日期.Text]
四个文本框中的内容生成我需要报告的信息,我应该在我的Form中如何编写代码?
下面为只根据一个文本框选择内容的编码:
Private Sub Command1_Click()
If IsNumeric(客户ID.Text) = True Then
DataEnvironment1.Command1 客户ID.Text
DataReport1.Show
Else
MsgBox "Please enter a valid year, YYYY", 64
End If
End Sub

我先谢谢大家的帮助!!!!
...全文
169 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
008 2000-04-04
  • 打赏
  • 举报
回复
对于第二个问题,如果输入的是2000-0203你将如何判断?我认为此时你可以选用MaskEditBox控件。试一下!
Michael_Liu 2000-03-23
  • 打赏
  • 举报
回复
Please capture Edit control`s message,you can do every thing you want!
MarsXia 2000-03-21
  • 打赏
  • 举报
回复
首先,你的20分是不是与你的问题的分量不相称:)所以没人回答。
1)Private Sub Text1_KeyPress(KeyAscii As Integer)
Static Ser As Integer
Select Case Ser
Case 0
If (KeyAscii < 48) Or ((KeyAscii > 57) And (KeyAscii < 65)) Or ((KeyAscii > 90) And (KeyAscii < 97)) Or (KeyAscii > 122) Then
KeyAscii = 0
Else
If KeyAscii > 96 Then
KeyAscii = KeyAscii - 32

End If
Ser = Ser + 1
End If
Case 1, 2
If KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0
Else
Ser = Ser + 1
End If
Case Else '以下三行回答你第三个问题,输完3个后自动跳到另一控件
Ser = 0
KeyAscii = 0
Text2.SetFocus
End Select
End Sub

2)Private Sub Text2_KeyPress(KeyAscii As Integer)

If KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0
Else
If Len(Text2.Text) = 8 Then
KeyAscii = 0
Text2.Text = Left(Text2.Text, 4) + "/" + Mid(Text2.Text, 5, 2) + "/" + Right(Text2.Text, 2)
Text1.SetFocus
End If
End If

End Sub
3)已经回答了,见1)
4)没时间了,我要出去了,下次再写:)
active 2000-03-21
  • 打赏
  • 举报
回复
(1)(3)两个问题在KeyPress事件中编程判断
(2)可以在validdata事件中判断
(4)则需要改写DateEnvironment的Sql使之接收4个参数

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧