易表在线答疑技术与交流用户社区 → [求助]有没有一个各个表都能打开的通用录入窗口


  共有33106人关注过本帖树形打印复制链接

主题:[求助]有没有一个各个表都能打开的通用录入窗口

帅哥哟,离线,有人找我吗?
lxl
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1191 积分:-50 威望:0 精华:0 注册:2007/5/25 12:56:00
VB2005基本语法学习  发帖心情 Post By:2008/5/10 15:30:00 [显示全部帖子]

   我也是学习VB2005没多长时间,一直都是自学的,学的很辛苦,也很慢。所以我把我已经掌握的一些基本的东西写出来,让大家少走一点弯路,节约一点时间。


  首先要下载两个文件:

  一、  .net framework 2.0     22M  (Vista用户就不用下载了,直接下第二个)
  下载地址: http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe
   这个东西就算你不下,过上两三年,只要你用windows,那么你机器上肯定有。就和IE和MSN一样绑定到操作系统的,这是微软想搞软件垄断的惯用手法吧。
   .net就是一个地基,电脑上有了它,那么用微软编程软件写出来的软件 一般都很小很小。新易表应该也是用的这个地基。 我下面的小程序也是用的这个地基。

  二、我编的一个小程序(17K),用来执行VB代码的,是我们这次学习的主要工具

       RAR文件下载


 回到顶部
帅哥哟,离线,有人找我吗?
lxl
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1191 积分:-50 威望:0 精华:0 注册:2007/5/25 12:56:00
  发帖心情 Post By:2008/5/10 15:30:00 [显示全部帖子]

[这个贴子最后由lxl在 2008/05/10 06:07pm 第 3 次编辑]

先讲一下用法。
代码的意思先不用管  后面再一句一句的讲


   Dim i,sum As Integer
   For i = 0 To 100
       Sum += i
   Next
   Msgbox("从1加到100等于:" & Sum)

把上面的代码复制到文本框  点执行,就能看到结果。
如果不通过,按钮下面会指出不通过的原因。
就这么简单,下面开始课程

(学理科的,也没当过老师,可能讲的有点乱,大家体谅^^)


————————————————————————————————————————

一、 变量

  1.变量的申明:
    先看看老易表变量的申明:
[UploadFile=1CE1B41C31FC1C31_1210406512.gif]
   
     VB的变量的申明是:
Dim 变量名 As 类型

例如:
Dim n As Integer
Dim x As Double
Dim Name As String
Dim YesOrNo As Boolean


可以把上面4行代码输入程序的文本框检测一下(当然不会有什么反应,下面只会提示语法通过。)
当然,申明多个相同类型变量可以这样:

Dim x,y,z As Double
Dim str1,str2 As String
上面2行代码申明了 3个实数型 x y z 和2个字符型变量 str1  str2


常用的VB 数据类型和老易表数据类型的对应关系为:
Integer 整数型      Double 实数型      String  字符型      Boolean 逻辑型


 2.变量的赋值
   老易表赋值:setvariable("n",1)
   VB的赋值: n = 1

在程序文本框里输入:
   Dim n As integer
   n = 1
   Msgbox(n)
看看效果。
VB可以在变量申明的时候就赋值,如:

Dim n As integer = 1
这样简化了代码的输入。


 3.变量的使用

老易表: [%x%]+[%y%]
    VB: x + y

例:
      Dim x,y As Integer
      x = 2
      y = 3
      Msgbox(x+y)


变量讲完了 想到什么写什么 可能有点乱


   

-=-=-=- 以下内容由 lxl2008年05月10日 04:47pm 时添加 -=-=-=-
————————————————————————————
先不急着讲下面的,大家先测试一下 下面的代码 加深一下理解:

代码一:
Dim str1,str2 As String
str1 = "今天是"
str2 = "星期六"
Msgbox(str1 & str2)
Msgbox(str1 + str2)


代码二:

Dim m,n As Integer
Dim a,b As Boolean
m = 1
n = 2
Msgbox(m > n)
a = m > n
b = a and True
Msgbox(b)



 回到顶部
帅哥哟,离线,有人找我吗?
lxl
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1191 积分:-50 威望:0 精华:0 注册:2007/5/25 12:56:00
  发帖心情 Post By:2008/5/10 15:31:00 [显示全部帖子]

[这个贴子最后由lxl在 2008/05/10 05:19pm 第 3 次编辑]


  <二> For...Next

老易表的循环LOOP 效率很低 语法也麻烦
eval更不规范,语法和天书一样,写一个循环要测试很多次。读起来更麻烦
用For Next 就很简单了  想到什么 就能表达出来
下面代码输入文本框

Dim i As Integer
For i = 1 To 3
   Msgbox(i)
Next


在来看看2楼从1加到100的例,应该能理解了吧。
 Dim i,sum As Integer
 For i = 0 To 100
     sum = sum + i
 Next
 Msgbox("从1加到100等于:" & sum)



-=-=-=- 以下内容由 lxl2008年05月10日 05:36pm 时添加 -=-=-=-
<三> If...Then
写几个代码 大家执行一下就明白了
代码一:
If True Then Msgbox("原来如此!")

代码二:
If False Then Msgbox("原来如此!")

代码三:
Dim a As integer = 1
Dim b As integer = 2
If a>b Then
   Msgbox("a大于b")
Else Msgbox("a不大于b")
End If


代码四:
Dim a As integer = 2
Dim b As integer = 2
If a>b Then
   Msgbox("a大于b")
Elseif a<b Then
   Msgbox("a小于b")
Else Msgbox("a等于b")
End If


-=-=-=- 以下内容由 lxl2008年05月10日 06:09pm 时添加 -=-=-=-
代码五:
求100里面有多少个数能被3整除
Dim i,n As Integer
For i = 1 To 100
  If (i Mod 3) = 0 Then n = n + 1
Next
Msgbox(n)

这里mod就是求余  
8 mod 3 的结果就是 2


 回到顶部
帅哥哟,离线,有人找我吗?
lxl
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1191 积分:-50 威望:0 精华:0 注册:2007/5/25 12:56:00
  发帖心情 Post By:2008/5/10 15:31:00 [显示全部帖子]

[这个贴子最后由lxl在 2008/05/10 07:58pm 第 1 次编辑]

<四> do while  循环语句
Do While 条件1
 语句1
Loop

当满足条件1的时候  执行语句1

代码一:
Dim i As Integer
Do While i <=5
   Msgbox(i)
   i = i + 1  '这句如果去掉的话就是死循环,因为i不加1永远满足小于等于5
Loop           '循环结束标志


复制上面代码的时候 '后面的文字可以不去掉,不影响结果


代码二:
从1开始加 1+2+3+4+…+n 一直加到n大于2000
Dim i,sum As Integer
Do While sum <= 2000
   i = i + 1
   sum = sum + i
Loop
Msgbox("从1加到" & i & "的时,和为" & sum)

<五> do until  循环语句
Do Until 条件1
   语句1
Loop
直到满足 条件1 才停止循环。

注意和Do While 区别:
一个是满足条件1 执行
一个是满足条件1 停止执行。
其实用一个Do While 就行.
Do Until 自己琢磨吧,和Do while 语法完全一样


 回到顶部
帅哥哟,离线,有人找我吗?
lxl
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1191 积分:-50 威望:0 精华:0 注册:2007/5/25 12:56:00
  发帖心情 Post By:2008/5/10 15:37:00 [显示全部帖子]

[这个贴子最后由lxl在 2008/05/10 08:26pm 第 1 次编辑]

<六>Select Case
这个和易表的Selcase()函数一个作用。

Select Case 表达式
 Case 值1
       语句1
 Case 值2
       语句2
 Case 值3
       语句3
 Case 值4
       语句4
 Case Else
       语句5
End Select


先计算表达式1  然后从上到下进行对比,结果是值1 执行条件1 结果是值2 执行条件2 依次类推,如果前4个条件都不满足  必定执行语句5。当然可以不要Case Else 这种情况。

代码一
Dim lvl As String = "B"
Dim r As String
Select Case lvl
 Case "A"
       r = "优秀"
 Case "B"
       r = "良好"
 Case "C"
       r = "一般"
 Case "D"
       r = "较差"
 Case Else
       r = "很差"
End Select
Msgbox(r)


代码二
可以把多个值写在一个分支中,用逗号隔开。
Dim Value As Integer = 5
Select Case Value
  Case 1,3,5,7,9
      Msgbox("奇数")
  Case 2,4,6,8,10
      Msgbox("偶数")
End Select

代码三
表达式还能是一个范围
Dim r As String
Dim Mark As Integer = 65
Select Case Mark
  Case 0 To 40
      r = "很差"
  Case 41 To 60
      r = "较差"
  Case 61 To 70
      r = "一般"
  Case 71 To 90
      r = "良好"
  Case 91 To 100
      r = "优秀"
  Case Else
      r = "你是神啊"
End Select
Msgbox(r)


 回到顶部
帅哥哟,离线,有人找我吗?
lxl
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1191 积分:-50 威望:0 精华:0 注册:2007/5/25 12:56:00
  发帖心情 Post By:2008/5/10 18:24:00 [显示全部帖子]

下面引用由老有所乐2008/05/10 06:03pm 发表的内容:
谢谢lxl先生 ,我用的VB下面这样就不行
Dim a As integer = 1
Dim b As integer = 2
If a>b Then
...

按理说不应该啊,如果无法执行 下面的错误提示是怎么说的.

 回到顶部
帅哥哟,离线,有人找我吗?
lxl
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1191 积分:-50 威望:0 精华:0 注册:2007/5/25 12:56:00
  发帖心情 Post By:2008/5/10 18:34:00 [显示全部帖子]

你是不是用的vb6.0?

 回到顶部
帅哥哟,离线,有人找我吗?
lxl
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1191 积分:-50 威望:0 精华:0 注册:2007/5/25 12:56:00
  发帖心情 Post By:2008/5/10 22:24:00 [显示全部帖子]

下面引用由老有所乐2008/05/10 09:52pm 发表的内容:
对,是VB6.0企业版。

恩 我说呢
VB6和VB2005 语法有所不同的


 回到顶部
帅哥哟,离线,有人找我吗?
lxl
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1191 积分:-50 威望:0 精华:0 注册:2007/5/25 12:56:00
  发帖心情 Post By:2008/5/10 22:40:00 [显示全部帖子]

VB2003 相当于VB7
VB2005 相当于VB8
VB2008 相当于VB9
只能说相当于
VB 2003之后都是基与.net平台的 和VB6有很大不同
不过VB6太经典了 现在用VB6的人可能比VB.net的人都多。


新易表是用VB2005开发的

-=-=-=- 以下内容由 lxl2008年05月10日 10:42pm 时添加 -=-=-=-
当然 VB.net 相对于vb6来说更想一门编程语言。
vb.net真正引入了对象的概念,而VB6中对象的概念很模糊。


 回到顶部
帅哥哟,离线,有人找我吗?
lxl
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1191 积分:-50 威望:0 精华:0 注册:2007/5/25 12:56:00
  发帖心情 Post By:2008/5/10 22:58:00 [显示全部帖子]

下面引用由老有所乐2008/05/10 10:50pm 发表的内容:
哪是不是应该学VB2005,哪里有下载?

没有必要的  VB2005真要完全学会很难
但是学新易表肯定容易 先了解一下VB就行.


 回到顶部
总数 14 1 2 下一页