开发中遇到的一些问题(讨论)

bzwht2002 2003-02-19 09:22:15
本人菜鸟一个,这些天在开发一个小程序。现在已经开发完成,但有几点困惑,请大家帮忙!

1.在表单输入中,有多个文本框控件,要输入内容。其中有的是只输入数字或文本。那么输入中的效验和数据的处理过程是不是写在同一个SUB中。我是写在一个过程中,但出现第4个问题。如果不是,应该怎么样写?

2.在定义数据连接时,是每次用到时连接还是固化成连接?

3.VB中的打印,用PRINT方法,其中的位置差量是多少,应该怎样定义,

4.请看代码:
'数据库连接已经定义
SUB command1_click()
on error goto err1
dim rs as new adodb.recordset
if rs.state=1 then rs.close
数据处理过程......
err1:
错误处理
exit sub
SUB
我在这个过程中一旦捕获到错误,系统执行错误处理,但返回if rs.state=1...错误。提示是运行时错误。

5.怎样来做出一个仿财务用的表格,分为货币计量单位的那种!

6.大家在写程序的时候,用不用数据处理封装?有什么好处?如果数据库是ACCESS.用封装和直接写代码有什么不同。

7.大家写不写说明文档?一个程序一般写几遍。我是写了文档(不标准),但重新写了两次数据处理内核。(大家不要见笑!)

请大家随意发表意见,分不够在加!
...全文
65 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanborcy 2003-02-19
  • 打赏
  • 举报
回复
1、在表单输入中,有多个文本框控件,要输入内容。其中有的是只输入数字或文本。那么输入中的效验和数据的处理过程是不是写在同一个SUB中。我是写在一个过程中,但出现第4个问题。如果不是,应该怎么样写?

具体情况具体解决,各有千秋

2.在定义数据连接时,是每次用到时连接还是固化成连接?

视使用频率和使用环境而定,也没有统一要求

3、VB中的打印,用PRINT方法,其中的位置差量是多少,应该怎样定义,
创建自己的刻度(需求定义)
4、请看代码:
'数据库连接已经定义
SUB command1_click()
on error goto err1
dim rs as new adodb.recordset
if rs.state=1 then rs.close
数据处理过程......
err1:
错误处理
exit sub
SUB
我在这个过程中一旦捕获到错误,系统执行错误处理,但返回if rs.state=1...错误。提示是运行时错误。
把 if rs.state=1 改为 if rs.state<>0 试试
5、怎样来做出一个仿财务用的表格,分为货币计量单位的那种
采用excel表格或者第三方控件
6.大家在写程序的时候,用不用数据处理封装?有什么好处?如果数据库是ACCESS.用封装和直接写代码有什么不同。
vb6在这方面做的不是很好,建议不采用
7.大家写不写说明文档?一个程序一般写几遍。我是写了文档(不标准),但重新写了两次数据处理内核。
自己写吧
chenyu5188 2003-02-19
  • 打赏
  • 举报
回复
1.在表单输入中,有多个文本框控件,要输入内容。其中有的是只输入数字或文本。那么输入中的效验和数据的处理过程是不是写在同一个SUB中。我是写在一个过程中,但出现第4个问题。如果不是,应该怎么样写?
写不写在同一个SUB是个人喜好啊,但是从标准规范来看要单独写一个处理这些问题的子过程。

2.在定义数据连接时,是每次用到时连接还是固化成连接?
一般情况下,在数据量较小的情况下,用固化连接。在数据量较大,有事务处理的程序中就用用到时连接。
3.VB中的打印,用PRINT方法,其中的位置差量是多少,应该怎样定义,

可用对象的刻度属性和 Scale 方法,设置特定对象(窗体或控件)的坐标系统。使用坐标系统有以下三种不同的方法:
使用缺省的刻度。
选择标准刻度。
创建自定义刻度。
改变坐标系统的刻度,使得在窗体上缩放图形和定位图形变得更容易。例如,一个在图片框里创建条形图的应用程序,能改变坐标系统,把控件分成四列,每列代表图表中的一条。以下部分,说明如何设置缺省、标准和自定义刻度,来改变坐标系统。
使用缺省刻度
每个窗体和图片框都有几个刻度属性(ScaleLeft、ScaleTop、ScaleWidth、ScaleHeight 和 ScaleMode)和一个方法(Scale),它们可用来定义坐标系统。对于 Visual Basic 中的对象,缺省刻度把坐标(0,0)放置在对象的左上角。缺省刻度单位为缇。
若要返回缺省刻度,可使用无参数的 Scale 方法。
选择标准刻度
若不直接定义单位,可通过设置 ScaleMode 属性,用标准刻度来定义它们。
ScaleMode 设置值 描述
0 用户定义。若直接设置了 ScaleWidth、ScaleHeight、ScaleTop 或 ScaleLeft,则 ScaleMode 属性自动设为 0。
1 缇。这是缺省刻度。1,440 缇等于一英寸。
2 磅。72 磅等于一英寸。
3 像素。像素是监视器或打印机分辨率的最小单位。每英寸里像素的数目由设备的分辨率决定。
4 字符。打印时,一个字符有 1/6 英寸高、1/12 英寸宽。
5 英寸。
6 毫米。
7 厘米。
除了 0 和 3,表中的所有模式都是打印长度。例如,一个对象长为两个单位,当 ScaleMode 设为 7 时,打印时就是两厘米长。

'设该窗体的刻度单位为英寸。
ScaleMode = 5
'设 picPicture1 的刻度单位为像素。
picPicture1.ScaleMode = 3

设置 ScaleMode Screen 的值后,Visual Basic 会重定义 ScaleWidth 和 ScaleHeight,使它们与新刻度保持一致。然后,ScaleTop 和 ScaleLeft 设置为 0。直接设置 ScaleWidth、ScaleHeight、ScaleTop 或 ScaleLeft,将自动设置 ScaleMode 为 0。

创建自定义刻度
可使用对象的 ScaleLeft、ScaleTop、ScaleWidth 和 ScaleHeight 这些属性,来创建自定义刻度。与 Scale 方法不同,这些属性能用来设定刻度,或取得有关坐标系统当前刻度的详细信息。

使用 ScaleLeft 和 ScaleTop 属性
ScaleLeft 和 ScaleTop 属性,用来给对象指定左上角的数字值。例如,这些语句给当前窗体的左上角,和名为 picArena 图片框的左上角设定数值。

ScaleLeft = 100
ScaleTop = 100
picArena.ScaleLeft = 100
picArena.ScaleTop = 100
这些语句定义左上角为(100,100)。虽然这些语句不直接改变那些对象的大小或位置,但它们改变其后一些语句的作用。例如,其后的一条设置控件 Top 属性为 100 的语句,将把对象置于它的容器的最上端。

使用 ScaleWidth 和 ScaleHeight 属性
ScaleWidth 和 ScaleHeight 属性,将根据绘图区的当前宽度和高度定义单位。例如:

ScaleWidth = 1000
ScaleHeight = 500

这些语句定义的是,当前窗体内部宽度的 1/1,000 为水平单位;当前窗体内部高度的 1/500 为垂直单位。如果窗体的大小以后被调整,这些单位保持原状。

注意 ScaleWidth 和 ScaleHeight 是按照对象的内部尺寸来定义单位的,这些尺寸不包括边框厚度或菜单(或标题)的高度。因此,ScaleWidth 和 ScaleHeight 总是指对象内的可用空间的大小。内部尺寸和外部尺寸(尺寸由 Width 和 Height 指定)的区别,对于有宽厚边框的窗体特别重要。这些单位也可不同:Width 和 Height 总是按照容器的坐标系统来表示;ScaleWidth 和 ScaleHeight 决定了对象本身的坐标系统。

改变坐标系统的属性设置
所有的四个刻度属性,都可包括分数,也可是负数。对于 ScaleWidth 和 ScaleHeight 属性,设置值为负数则改变坐标系统的方向。

图 12.5 中所示的刻度,有 ScaleLeft、ScaleTop、ScaleWidth 和 Scale Height,都设置为 100。
4.请看代码:
'数据库连接已经定义
SUB command1_click()
on error goto err1
dim rs as new adodb.recordset
if rs.state=1 then rs.close
数据处理过程......
err1:
错误处理
exit sub
SUB
我在这个过程中一旦捕获到错误,系统执行错误处理,但返回if rs.state=1...错误。提示是运行时错误。
这个可能是你程序别的地方有问题。

5.怎样来做出一个仿财务用的表格,分为货币计量单位的那种!
用第三方控件。
6.大家在写程序的时候,用不用数据处理封装?有什么好处?如果数据库是ACCESS.用封装和直接写代码有什么不同。
也是个人爱好,建议用数据处理封装,这是一个良好的习惯。
7.大家写不写说明文档?一个程序一般写几遍。我是写了文档(不标准),但重新写了两次数据处理内核。(大家不要见笑!)
自己写的程序就自己写
minajo21 2003-02-19
  • 打赏
  • 举报
回复
3.打印也要看具体情况,是控件还是报表打印,vb自带的报表很烂
minajo21 2003-02-19
  • 打赏
  • 举报
回复
2.根据需要,connection一般连一次就可以了
linfuyong 2003-02-19
  • 打赏
  • 举报
回复
你是让我们开发一遍,你是不是做项目管理的??
minajo21 2003-02-19
  • 打赏
  • 举报
回复
1.输入验证出错处理可以写成一个单独的函数,利用ADODB.Field的.Attributesfld、.type等属性来判断,而不是笼统的捕错.
龙华 2003-02-19
  • 打赏
  • 举报
回复
1.在表单输入中,有多个文本框控件,要输入内容。其中有的是只输入数字或文本。那么输入中的效验和数据的处理过程是不是写在同一个SUB中。
不一定,有时候可以在别的sub中处理,有时候还可以通过全局变量传递到别的表单中处理。

2.在定义数据连接时,是每次用到时连接还是固化成连接?
都可以。访问数据库频繁时应该用一个connection连接。因为打开数据库的操作较慢而且占用系统资源比较多。
但第一种比较简洁。
3.VB中的打印,用PRINT方法,其中的位置差量是多少,应该怎样定义,
没打印过。

4.请看代码:
'数据库连接已经定义
SUB command1_click()
on error goto err1
dim rs as new adodb.recordset
根本没打开rs。怎么可能关闭。
加 rs.open sql语句,connection name,1,1
if rs.state=1 then rs.close
数据处理过程......
err1:
错误处理
exit sub
SUB
我在这个过程中一旦捕获到错误,系统执行错误处理,但返回if rs.state=1...错误。提示是运行时错误。

5.怎样来做出一个仿财务用的表格,分为货币计量单位的那种!
用报表控件。或者调用execle表格。或者,用listview控件。

6.大家在写程序的时候,用不用数据处理封装?有什么好处?如果数据库是ACCESS.用封装和直接写代码有什么不同。
一般来说,直接写代码比较灵活点。没什么不同。

7.大家写不写说明文档?一个程序一般写几遍。我是写了文档(不标准),但重新写了两次数据处理内核。(大家不要见笑!)
让别人写。
龙华 2003-02-19
  • 打赏
  • 举报
回复
对不起,我的表述好象还是不太明白。
你把那行改写在数据处理完毕以后试试。可能是循环调用过程中出错的。
龙华 2003-02-19
  • 打赏
  • 举报
回复
SUB command1_click()
on error goto err1
dim rs as new adodb.recordset
if rs.state=1 then rs.close
数据处理过程......
err1:
错误处理
exit sub
SUB
rs是刚定义的,为什么要 if rs.state=1???

DimVar 2003-02-19
  • 打赏
  • 举报
回复
4.请看代码:
'数据库连接已经定义
SUB command1_click()
on error goto err1
dim rs as new adodb.recordset
if rs.state=1 then rs.close
数据处理过程......

'---------不管之前程序是否有错,这里有问题:
exit sub'要放在这里,这样当程序没错的时候才不会执行“错误处理”。
err1:
错误处理
exit sub'不需要
SUB

我在这个过程中一旦捕获到错误,系统执行错误处理,但返回if rs.state=1...错误。提示是运行时错误。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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