VB程序员博客

VB程序开发

我一个sql查询出5条记录。
有5个label,我想分别将5条记录放入这5个label中,该如何实现呢!label1.caption=rs.fields(0)
rs.movenext
label2.caption=rs.fields(0)
rs.movenext
label3.caption=rs.fields(0)
rs.movenext
label4.caption=rs.fields(0)
rs.movenext
label15.caption=rs.fields(0)

1 楼 修改一下

label1.caption=rs.fields(0)
rs.movenext
label2.caption=rs.fields(0)
rs.movenext
label3.caption=rs.fields(0)
rs.movenext
label4.caption=rs.fields(0)
rs.movenext
label15.caption=rs.fields(0)
rs.movenext

rs.open"select top 5 * from table",cn,adopenkeyset,adlockoptimistic

while not rs.eof
label1.caption=rs.fields(0)
rs.movenext
label2.caption=rs.fields(0)
rs.movenext
label3.caption=rs.fields(0)
rs.movenext
label4.caption=rs.fields(0)
rs.movenext
label15.caption=rs.fields(0)
wend

运行时报错。要求一个当前的记录!rs.open"select top 5 * from table",cn,adopenkeyset,adlockoptimistic

if rs.recordcount = 5 then
  label1.caption=rs.fields(0)
  rs.movenext
  label2.caption=rs.fields(0)
  rs.movenext
  label3.caption=rs.fields(0)
  rs.movenext
  label4.caption=rs.fields(0)
  rs.movenext
  label15.caption=rs.fields(0)
  rs.movenext
end if 建议使用控件数组


我一个sql查询出5条记录。
有5个label,我想分别将5条记录放入这5个label中,该如何实现呢!label1.caption=rs.fields(0)
rs.movenext
label2.caption=rs.fields(0)
rs.movenext
label3.caption=rs.fields(0)
rs.movenext
label4.caption=rs.fields(0)
rs.movenext
label15.caption=rs.fields(0)

1 楼 修改一下

label1.caption=rs.fields(0)
rs.movenext
label2.caption=rs.fields(0)
rs.movenext
label3.caption=rs.fields(0)
rs.movenext
label4.caption=rs.fields(0)
rs.movenext
label15.caption=rs.fields(0)
rs.movenext

rs.open"select top 5 * from table",cn,adopenkeyset,adlockoptimistic

while not rs.eof
label1.caption=rs.fields(0)
rs.movenext
label2.caption=rs.fields(0)
rs.movenext
label3.caption=rs.fields(0)
rs.movenext
label4.caption=rs.fields(0)
rs.movenext
label15.caption=rs.fields(0)
wend

运行时报错。要求一个当前的记录!rs.open"select top 5 * from table",cn,adopenkeyset,adlockoptimistic

if rs.recordcount = 5 then
  label1.caption=rs.fields(0)
  rs.movenext
  label2.caption=rs.fields(0)
  rs.movenext
  label3.caption=rs.fields(0)
  rs.movenext
  label4.caption=rs.fields(0)
  rs.movenext
  label15.caption=rs.fields(0)
  rs.movenext
end if 建议使用控件数组


使用Webbrowser来显示WORD文档.出现一个问题,用2个子窗体上的Webbrowser来分别显示两个WORD文档时,
相互切换后,鼠标右键失去功能.如果重新载入文档,鼠标右键又有用.
有什么办法使得具有复制粘贴等功能的右键一直有效呢?或者是切换到当前窗体使当前窗体上的有效?那问题就肯定出现在你切换的时候呗
怎么切换的?
贴代码用Webbrowser来显示WORD文档本来就不太合适,怎么不直接调用WORD对象呢。
是因为WORD文档都是远程的?那只能看不能存,有什么意义。是因为WORD文档都是远程的?那只能看不能存,要右键菜单有什么意义。用WEBBROWSER来加载WORD文档,是因为我做的程序主要用来显示的.
当然也考虑到用户需要复制部分部分内容的需要,所以考虑用右键.
文档是存储在远程服务器上的,用WEBBROWSER显示后,用.document.saveas 方法可以将文件保存.

问题还是没法解决.不知道有其他高手没.两个子窗体之间切换是不需要代码的.


选中datagrid第N行,然后刷新,如果我想定位回第N行,datagrid的滚动条便会从第一行开始,一直向下滚动,直至第N行停止。
请问如何能让datagrid立即定位回第N行,而看不出在滚动。

我是这样定位的:

…….
Set DataGrid.DataSource=rs
DataGrid.Refresh
Do While Not (rs.EOF)
  If StrComp(rs.Fields("id"), id, vbTextCompare) = 0 Then
  Exit Do
  Else
  rs.MoveNext
  End If
Loop

你的回复开始我看不懂,经高人指点后已明白,分就给你吧。


在窗体中添加了一个ADODC控件和一个DATAGRID控件,使用控件上的属性连接了ACCESS本地数据库,datagrid.datasouce属性设为ADODC1,直接运行显示正常。
现在在datagrid1的属性窗口内,改动了列的宽度属性,再运行程序,datagrid1的内容行数不变,内容却都不见了,这是怎么回事?
在线急等不是直接改的DEFCOLWIDTH属性,而是点自定义,在布局里面改的。删了datagrid,再放一个datagrid上右单击,选择检索字段。点检索字段以后,我设置的宽度又无效了呀,我想对前两列单独设置宽度,怎么实现?<
这不成了死循环了,点布局里面设置宽度——数据找不到了——点检索数据——数据找回来了,列宽又被初始化了。怎么没人继续跟帖了我测试, 检索字段 后 设置 宽度, 数据是存在的

lz试了吗?还是只凭想象?我试了呀,只要一改布局中的列宽,再运行,表中一定是空白的,点了检索就会出现,再改列宽又是空白的,莫非我的Vb不好?<
新建一个vb工程直接测试这个

系统重启试试,不知道vb原因,系统原因,换台电脑试试就知道了楼主不想折腾的话试以下语句:
Private Sub Form_Load()
  DataGrid1.Columns(0).Width = 980
  DataGrid1.Columns(1).Width = 3200

End Sub
<
在通用中增加:
Dim WithEvents adoPrimaryRS As ADODB.Recordset
Dim mbChangedByCode As Boolean
Dim mvBookMark As Variant
Dim mbEditFlag As Boolean
Dim mbAddNewFlag As Boolean
Dim mbDataChanged As Boolean
连接用: Dim db As ADODB.Connection
  Set db = New ADODB.Connection
  db.CursorLocation = adUseClient
  db.Open "PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=" & wjy
  Set adoPrimaryRS = New ADODB.Recordset
  adoPrimaryRS.Open "SHAPE {select 标志,章号,序号,项目名称,单位,工程量,分析,砼,基价,合计,人工单价,人工合计,材料单价,材料合计,机械单价,机械合计,地区单价,地区合计,换算,章序号,工程名称,文件号,编制单位,年度标志,材机库ID,页数 from demo ORDER BY 材机库ID} AS ParentCMD APPEND ({select 代号,材机名称,单位,材机单价,材机数量,材机库ID from 材机库 ORDER BY 代号} AS ChildCMD RELATE 材机库ID TO 材机库ID) AS ChildCMD", db, adOpenStatic, adLockOptimistic
  Set DataGrid1.DataSource = adoPrimaryRS
  Set grdDataGrid.DataSource = adoPrimaryRS("ChildCMD").UnderlyingValue
  mbDataChanged = False
调整宽度用:
  With DataGrid1
  .Columns(0).Width = 600
  .Columns(1).Width = 600
  .Columns(2).Width = 600
  .Columns(3).Width = 3500
  .Columns(4).Width = 800
  .Columns(5).Width = 1000
  .Columns(6).Width = 500
  .Columns(7).Width = 400
  .Columns(8).Width = 1000
  .Columns(9).Width = 1000
  .Columns(10).Width = 1000
  .Columns(11).Width = 1100
  .Columns(12).Width = 1000
  .Columns(13).Width = 1100
  .Columns(14).Width = 1000
  .Columns(15).Width = 1100
  .Columns(16).Width = 1000
  .Columns(17).Width = 1100
  .Columns(18).Visible = False
  .Columns(19).Visible = False
  .Columns(20).Visible = False
  .Columns(21).Visible = False
  .Columns(22).Visible = False
  .Columns(23).Visible = False
  .Columns(24).Visible = False
  End With有问题加QQ:314638680


在窗体中添加了一个ADODC控件和一个DATAGRID控件,使用控件上的属性连接了ACCESS本地数据库,datagrid.datasouce属性设为ADODC1,直接运行显示正常。
现在在datagrid1的属性窗口内,改动了列的宽度属性,再运行程序,datagrid1的内容行数不变,内容却都不见了,这是怎么回事?
在线急等不是直接改的DEFCOLWIDTH属性,而是点自定义,在布局里面改的。删了datagrid,再放一个datagrid上右单击,选择检索字段。点检索字段以后,我设置的宽度又无效了呀,我想对前两列单独设置宽度,怎么实现?<
这不成了死循环了,点布局里面设置宽度——数据找不到了——点检索数据——数据找回来了,列宽又被初始化了。怎么没人继续跟帖了我测试, 检索字段 后 设置 宽度, 数据是存在的

lz试了吗?还是只凭想象?我试了呀,只要一改布局中的列宽,再运行,表中一定是空白的,点了检索就会出现,再改列宽又是空白的,莫非我的Vb不好?<
新建一个vb工程直接测试这个

系统重启试试,不知道vb原因,系统原因,换台电脑试试就知道了楼主不想折腾的话试以下语句:
Private Sub Form_Load()
  DataGrid1.Columns(0).Width = 980
  DataGrid1.Columns(1).Width = 3200

End Sub
<
在通用中增加:
Dim WithEvents adoPrimaryRS As ADODB.Recordset
Dim mbChangedByCode As Boolean
Dim mvBookMark As Variant
Dim mbEditFlag As Boolean
Dim mbAddNewFlag As Boolean
Dim mbDataChanged As Boolean
连接用: Dim db As ADODB.Connection
  Set db = New ADODB.Connection
  db.CursorLocation = adUseClient
  db.Open "PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=" & wjy
  Set adoPrimaryRS = New ADODB.Recordset
  adoPrimaryRS.Open "SHAPE {select 标志,章号,序号,项目名称,单位,工程量,分析,砼,基价,合计,人工单价,人工合计,材料单价,材料合计,机械单价,机械合计,地区单价,地区合计,换算,章序号,工程名称,文件号,编制单位,年度标志,材机库ID,页数 from demo ORDER BY 材机库ID} AS ParentCMD APPEND ({select 代号,材机名称,单位,材机单价,材机数量,材机库ID from 材机库 ORDER BY 代号} AS ChildCMD RELATE 材机库ID TO 材机库ID) AS ChildCMD", db, adOpenStatic, adLockOptimistic
  Set DataGrid1.DataSource = adoPrimaryRS
  Set grdDataGrid.DataSource = adoPrimaryRS("ChildCMD").UnderlyingValue
  mbDataChanged = False
调整宽度用:
  With DataGrid1
  .Columns(0).Width = 600
  .Columns(1).Width = 600
  .Columns(2).Width = 600
  .Columns(3).Width = 3500
  .Columns(4).Width = 800
  .Columns(5).Width = 1000
  .Columns(6).Width = 500
  .Columns(7).Width = 400
  .Columns(8).Width = 1000
  .Columns(9).Width = 1000
  .Columns(10).Width = 1000
  .Columns(11).Width = 1100
  .Columns(12).Width = 1000
  .Columns(13).Width = 1100
  .Columns(14).Width = 1000
  .Columns(15).Width = 1100
  .Columns(16).Width = 1000
  .Columns(17).Width = 1100
  .Columns(18).Visible = False
  .Columns(19).Visible = False
  .Columns(20).Visible = False
  .Columns(21).Visible = False
  .Columns(22).Visible = False
  .Columns(23).Visible = False
  .Columns(24).Visible = False
  End With有问题加QQ:314638680


我想在vb中基于OpenGL显示一个三维图形(SolidWorks画出来的,然后保存成stl格式的)。现在图形的数据都已经读入到了vb中。问题是如何利用OpenGL把图形显示出来。听说这个OpenGL还得初始化什么的。很麻烦?
问题具体一点就是:OpenGL画图所需要的三角形的点的坐标都已经弄好了。关于OpenGL的其他程序如何编制呢?
各位大虾帮帮忙了!友情顶下,不清楚我也UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP初次遇见……关注!up…vb没整过,纯支持!下载这个例子看一看:
http://download.csdn.net/source/1222635也来Up友情顶!


PNG图片很漂亮,是美化程序的好东西,但不能显示到按钮上,郁闷,在下求:能显示PNG图片的按钮控件或将PNG图片绘制到按钮上的方法用GDI+绘图函数可以显示PNG图片.

http://download.csdn.net/source/1001071

用一个示例(附源码)1、用c++写;
2、用图形自绘模拟按钮解决;我需要的是按钮控件,C++有些跑题了哦。。。参考 http://www.pcvz.com/Program/Programs/VB/VBControl/Program_52366.html孤独兄,貌似你提供的不行哦。GDI+API是可办到的把源 PNG 图片转换一下格式不行啊?
http://www.vbaccelerator.com/home/VB/Code/vbMedia/Using_GDI_Plus/Reading_and_Writing_JPG__PNG__TIF_and_GIF_Files/article.asp我没有,up一下<
用自绘按钮显示PNG图片。没见过,真要控件可能还是要自己搞啊 极力推荐的一款超棒的支持真彩色带混合透明通道的32Bpp图标和PNG格式文件的按钮控件。该控件可以在Windows2000以上的操作系统中显示真彩色(98没有测试过)。支持的按钮风格共有8种,可以设置按钮前景色及背景色以及渐变色,可以设置图标对齐方式,标题对齐方式。总之功能非常强大。
  注意:在使用真彩色图片时请点击控件属性–自定义,在真彩色图片中进行插入真彩色图片。

http://www.mndsoft.com/blog/article.asp?id=886继续拜求!!!c++写应该不难,c++又不是光能做exe,写个组件一样在网上找个VB显示PNG文件的源码,改成控件.顶上去

<
嗯!信江南,得成功!再顶上去我喜欢用 BMP 文件!

使用通用控件中的 ImageList 来进行透明绘图


如题,已知用
Shell "C:windowssystem32control.exe desk.cpl", vbNormalFocus

Shell "rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,3"
可以打开“显示 属性”对话框,但我想跳过这一步直接用代码打开其中由“设置–>高级”弹出的“(xx监视器)和NVIDIA FeForce xxxx 属性”对话框,请问能否实现?最好别用sendkeys之类,api之类可以。资料没找到,反汇编无果(菜菜)。
不得已的方法:FindWindow + SendMessage支持<
我想反汇编跟踪一下那个按钮调用的api,结果连事件过程入口都没找到,地址直接为FFFFxxxx。先做个记号,关注一下。<

UP看来这个问题不好搞定呀。不会,帮顶不会,帮顶


如题
背景可以透明的
除了png

GIF的现实效果很差<
又要背景可以透明的,又要显示图片最快,不要png,也就是gif了.无语innnnnnnnggif不错啊。
楼主要求很高?代开各行业【増直/鐠通】漂据。
另批发/零售仿真度可达90%以上各品牌香烟,如中华、黄鹤楼1916、芙蓉王、南京95至尊、白沙(和天下)、苏烟、玉溪、利群、双喜、世纪经典等。
如有意,请联系Q:1145553117。  手机:13544123356、金先生


专题:

栏目: