VB程序员博客
01 11th, 2010
http://www.gzjd.gov.cn/gzwfcx/hnisijsp/jtwfcx/wfchx.jsp这个网址,是查询车牌的,号牌种类:自动默认的2,小型车辆,另外需要车牌号码(5位,例如12345),发动机号(后四位):例如(1234),还有验证码,4位,它的验证码比较规则,在jsp里面有个函数专门定义了,请问怎么在vb的text框或combo(最好combo框,可以有记忆不用每次都输入,先做text就行)里输入车牌号,发动机号,验证码最好自己识别,就能交互弹出查询画面?
这个可以把输入的数据保存到数据库里或者保存到一个文本文件里,当你在text或combo 输入数据时(change事件),查出文本文件中的数据或数据库中 的数据
用LIKE
车牌号码跟发动机输入容易解决些,现在首先要解决的问题是它的查询资料是在网络中,要提交上去才能查询,现在需要的是输入车牌号码,按提交,能够显示出查询成功的页面来,你说的用数据库来实现车牌和发动机号的对应是个好办法,谢谢先。
如果不需要识别验证码,有什么方便的做法,使查询人少点输入吗?
那个也一样的 就是每次你输入过的数据保存到文本文件中, 本地文件 当你输入时就读取那个文件的内容 也可以匹配查询
楼主是想做游览器吗 还是IE没有自动保存的功能 如果是的话 设置一下就可以了
我想用个webbrowser调用页面,自动保存只能保存一个车牌号,我想查询几个号码时候更换就不行了。
楼主的意思是 你输入一个 第二次输入的时候就有了 输入 第二个 第二次输入的时候就是第二个 第一个 没了?
IE自动保存能实现你楼上说的吗?即使可以也不太喜欢这样,假如人家没设置自动保存怎么办,我是编一个小软件给人查询方便的,现在思路是从combo里选一个车牌号,自动对应发动机号然后将它send到网页中去,自己再输入验证码,点提交完成查询,查询页面在webbrowser显示,请问各位大侠还有没简便的步骤实现?
当然车牌号和发动机号的对应第一次用时输入。
还不够简便吗~~~~ 楼主是觉得在COMBO里输入数据麻烦吗 那就用文本文件的方式读入
请问能不能提供文本文件方式读入的代码?谢谢。
Open App.Path "close_id.txt" For Input As #1 这个是读取你程序目录下的txt
Open "c:student.txt" For Input As #filenum 这个是读取具体地址的txt
逐行读取:
dim i as integer
i=0
dim a() as string
Open "d: est.txt" For Input As #1 ' 打开文件。
Do While Not EOF(1) ' 循环至文件尾。
Line Input #1, TextLine ' 读入一行数据并将其赋予某变量。
'debug.Print TextLine ' 在调试窗口中显示数据。
a(i)=TextLine
i=i+1
Loop
代码手写的 可能有问题
<
具体需要几个txt文件?车牌号和发动机号能联系起来吗?
http://www.gzjd.gov.cn/gzwfcx/hnisijsp/jtwfcx/wfchx.jsp地址暂时访问出错,可能是它们服务器问题,迟点访问。
顶顶,有无高手出现?
一个就行了啊 读取 写入
写入文本
Open App.Path + "aa" For Binary Access Write As #1
Put #1, , MyData()
Close #1
http://www.gzjd.gov.cn/gzwfcx/hnisijsp/jtwfcx/wfchx.jsp地址可以访问了,我想征求更多思路,单纯写入文本这些基本操作我知道,你如果要写的话就写完整些,还是期待高手加入进来,谢谢你先,如果没人对这个问题有兴趣,那就准备结贴了。我或者用数据库或ini解决。
01 11th, 2010
http://www.gzjd.gov.cn/gzwfcx/hnisijsp/jtwfcx/wfchx.jsp这个网址,是查询车牌的,号牌种类:自动默认的2,小型车辆,另外需要车牌号码(5位,例如12345),发动机号(后四位):例如(1234),还有验证码,4位,它的验证码比较规则,在jsp里面有个函数专门定义了,请问怎么在vb的text框或combo(最好combo框,可以有记忆不用每次都输入,先做text就行)里输入车牌号,发动机号,验证码最好自己识别,就能交互弹出查询画面?
这个可以把输入的数据保存到数据库里或者保存到一个文本文件里,当你在text或combo 输入数据时(change事件),查出文本文件中的数据或数据库中 的数据
用LIKE
车牌号码跟发动机输入容易解决些,现在首先要解决的问题是它的查询资料是在网络中,要提交上去才能查询,现在需要的是输入车牌号码,按提交,能够显示出查询成功的页面来,你说的用数据库来实现车牌和发动机号的对应是个好办法,谢谢先。
如果不需要识别验证码,有什么方便的做法,使查询人少点输入吗?
那个也一样的 就是每次你输入过的数据保存到文本文件中, 本地文件 当你输入时就读取那个文件的内容 也可以匹配查询
楼主是想做游览器吗 还是IE没有自动保存的功能 如果是的话 设置一下就可以了
我想用个webbrowser调用页面,自动保存只能保存一个车牌号,我想查询几个号码时候更换就不行了。
楼主的意思是 你输入一个 第二次输入的时候就有了 输入 第二个 第二次输入的时候就是第二个 第一个 没了?
IE自动保存能实现你楼上说的吗?即使可以也不太喜欢这样,假如人家没设置自动保存怎么办,我是编一个小软件给人查询方便的,现在思路是从combo里选一个车牌号,自动对应发动机号然后将它send到网页中去,自己再输入验证码,点提交完成查询,查询页面在webbrowser显示,请问各位大侠还有没简便的步骤实现?
当然车牌号和发动机号的对应第一次用时输入。
还不够简便吗~~~~ 楼主是觉得在COMBO里输入数据麻烦吗 那就用文本文件的方式读入
请问能不能提供文本文件方式读入的代码?谢谢。
Open App.Path "close_id.txt" For Input As #1 这个是读取你程序目录下的txt
Open "c:student.txt" For Input As #filenum 这个是读取具体地址的txt
逐行读取:
dim i as integer
i=0
dim a() as string
Open "d: est.txt" For Input As #1 ' 打开文件。
Do While Not EOF(1) ' 循环至文件尾。
Line Input #1, TextLine ' 读入一行数据并将其赋予某变量。
'debug.Print TextLine ' 在调试窗口中显示数据。
a(i)=TextLine
i=i+1
Loop
代码手写的 可能有问题
<
具体需要几个txt文件?车牌号和发动机号能联系起来吗?
http://www.gzjd.gov.cn/gzwfcx/hnisijsp/jtwfcx/wfchx.jsp地址暂时访问出错,可能是它们服务器问题,迟点访问。
顶顶,有无高手出现?
一个就行了啊 读取 写入
写入文本
Open App.Path + "aa" For Binary Access Write As #1
Put #1, , MyData()
Close #1
http://www.gzjd.gov.cn/gzwfcx/hnisijsp/jtwfcx/wfchx.jsp地址可以访问了,我想征求更多思路,单纯写入文本这些基本操作我知道,你如果要写的话就写完整些,还是期待高手加入进来,谢谢你先,如果没人对这个问题有兴趣,那就准备结贴了。我或者用数据库或ini解决。
05 29th, 2009
用vba 导出查询到excel文件,怎么跟在access里查询到的结果不一样?
建立查询“select * from 帐户统计之支行净增”和导出文件有一行记录不同,其他的都一样,会不会是 Rs_Data.Open strOpen, Adocn, adOpenStatic, adLockOptimistic造成的?
Public Sub 导出支行净增()
'*********************************************************
'* 名称:ExporToExcel
'* 功能:导出数据到EXCEL
'* 用法:ExporToExcel(sql查询字符串)
'*********************************************************
Dim Rs_Data As New ADODB.Recordset
Dim Irowcount As Integer
Dim Icolcount As Integer
Dim Adocn As New ADODB.Connection
Dim strOpen As String
Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim xlQuery As Excel.QueryTable
Dim strSQL As String
Dim Cnn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim i%
strSQL = "select 支行 from 支行"
Set Cnn = CurrentProject.Connection
Rst.Open strSQL, Cnn, adOpenKeyset, adLockOptimistic
If Not Rst.EOF Then
Rst.MoveFirst
Do While Not Rst.EOF
Set Adocn = CurrentProject.Connection
Adocn.CursorLocation = adUseClient
strOpen = "select * from 帐户统计之支行净增"
Rs_Data.Open strOpen, Adocn, adOpenStatic, adLockOptimistic
If Rs_Data.RecordCount >= 1 Then
Set Cnn = CurrentProject.Connection
Set xlApp = CreateObject("Excel.Application")
Set xlBook = Nothing
Set xlSheet = Nothing
Set xlBook = xlApp.Workbooks().Add
Set xlSheet = xlApp.Sheets.Add
' Set xlBook = xlApp.Workbooks().Add
Set xlSheet = xlApp.Sheets.Add
Set xlSheet = xlBook.Worksheets("sheet5")
Irowcount = Rs_Data.RecordCount
Icolcount = Rs_Data.Fields.Count
Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a1"))
With xlSheet
.Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.Size = 15 '.Name = "黑体"
.Range(.Cells(1, 1), .Cells(Irowcount + 1, Icolcount)).Borders.LineStyle = xlContinuous
.PageSetup.CenterHeader = "&""宋体,加粗""&18支行帐户情况&""宋体,常规"""
.PageSetup.RightMargin = 1
.PageSetup.LeftMargin = 30
End With
xlQuery.FieldNames = True '显示字段名
xlQuery.Refresh
xlSheet.Name = "支行帐户情况"
xlBook.SaveAs "D: emp帐户情况-" & Rst!支行 & ".xls" 'App.Path & "" & filename & ".xls"
End If
Set xlSheet = Nothing
xlApp.Application.Quit
Set xlBook = Nothing
Set xlApp = Nothing
Rs_Data.Close
Rst.MoveNext
Loop
End If
End Sub
就是有一行记录的一个字段差1,原来应为23,结果却为22,换了台电脑都一样的结果
看下Rs_Data的值
临时用
xlSheet.Range("A2").CopyFromRecordset Rs_Data
替代
Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a1"))
看看结果
RSDATA一大堆的值,看不出什么
看你认为错误的那一行
个人建议:
1、先对数据库进行一下压缩,然后重试。
2、代码分块、分段排查。
PS:拙见,仅供参考。
还是解决不了
这段代码本应该写的再简洁些的!
老兄指点一下,哪里可以做改进,给个思路也行,我的代码要运行半个小时。
strOpen = "select * from 帐户统计之支行净增"
这句话没有加支行条件。
2,调试的话,这个追加 [=23] 的那条记录的条件,这样你调试起来就不是半小时了。
看看数据库里面 23的字段的数据类型,再看看excel里面的数据类型是不是一致。
差1?带小数点的吗?会不会是精度的问题。单元格属性需要设置一下吧
都是整型的,属性没问题
没办法了。只好把查询生成表了,就能正常了
05 10th, 2009
如有这样的记录:上午 2009-5-9 8:00:00
下午 2009-5-9 17:00:00
上午 2009-5-8 8:00:00
下午 2009-5-8 17:00:00
我想让它的结果按日期排列,用order by 日期
然后结果是这样的:下午 2009-5-8 17:00:00
上午 2009-5-8 8:00:00
下午 2009-5-9 17:00:00
上午 2009-5-9 8:00:00
请问我如何让它变成:上午 2009-5-8 8:00:00
下午 2009-5-8 17:00:00
上午 2009-5-9 8:00:00
下午 2009-5-9 17:00:00
也就是每两行按照时间排序
try:
select * from tb order by format(trim(mid(日期,4)),'yyyy-mm-dd hh:mm:dd'),instr(日期,'下午')
应该如下就行了:
select * from tb order by format(trim(mid(日期,4)),'yyyy-mm-dd hh:mm:dd')
select * from tb order by format(trim(mid(日期,4)),'yyyy-mm-dd hh:mm:dd')
啊呀忘了说。。。。日期和时间是2个字段的。。。就是说这个表有3个字段。。第二和第三个字段都是日期时间类型的,我先试试看你们说的
额怪我没说清楚。。。把高手给误导了- -!
3个字段只有第一个字段是文本型的,其他都是日期时间类型的。。
额搞定了。。我真是傻掉了。。“order by 日期,时间”原来可以这样的。。。
03 31st, 2009
在vb中 用Ado控件连接一个oracle 数据库
在ado属性页 填写命令文件(sql)
select * from mytable where enrolldate > 2008/01/01
显示错误ora-00932 不一致的数据类型,要求date得到的却是number
将语句改为select * from mytable where enrolldate > '2008/01/01'
显示错误ora-01861:文字与格式字符串不匹配
将语句改为select * from mytable where enrolldate > #2008/01/01#
显示错误ora-00911:无效字符
将语句改为select * from mytable where enrolldate > cdate(2008/01/01)
显示错误ora-00911:"cdate":无效的标识符
在英文状态下输入单引号
select * from mytable where enrolldate >'2008-01-01'
同样显示错误ora-01861:文字与格式字符串不匹配
表中的 enrolldate 是什么格式?
在pl/sql developer 中
用select * from mytable where enrolldate >'2008-01-01'
可以查询出来
不知道为什么ADo控件中却不行
日期格式
select * from mytable where enrolldate >'2008-01-01' '要在英文状态下输入单引号
我已经解决了.
select * from mytable where enrolldate >= to_date('2008-01-01','yyyy-mm-dd')
01 11th, 2009
按照比重是否大于0.75、名称、释放源组合查询ACCESS图片库,以上每个条件都必须符合,图片显示在IMAGE控件中,采用ADO控件。ACCESS图片库怎么建,把图片地址怎么写比较好?
图片都在本地机器,如果是,那就把图片的完整路径存放数据库,根据取出来的路径去读取对应的图片
查询条件就可以用sql语句了,select * from table where 名称 = XXX AND 释放源 = XXX…
具体设置呢?偶刚学哦。呵呵,说得太简单,偶不明白。
01 8th, 2009
VB访问oracle时查询条件如果写?
想把变量传入,比如,查询条件text1.text="20080101"
mySQL="select * from tablename where acdate='" & text1.text & "'"
Set AdoCnn = New ADODB.Connection
Set AdoRs = New ADODB.Recordset
AdoCnn.ConnectionTimeout = 5
AdoCnn.CursorLocation = adUseClient
AdoCnn.Open gCnnStr
AdoRs.Open mySQL, AdoCnn, adOpenDynamic, adLockPessimistic, adCmdText
提示错误。
请问这个查询语句该怎么写呀?
http://blog.csdn.net/vansoft/archive/2008/12/29/3634399.aspx
我的博客
发现了问题(本身原因),已经搞定。
12 26th, 2008
Select语句,有一个表单A,里面字段不是很多,1个datetime的,然后后面的都是float类型,大概一共有20个float的字段,日积月累,往这个A表单添加记录,当这个A表单里面的记录很庞大的时候,我就发现进行查询操作就比较费时了,求各位大大能给我一个好的建议,这问题之前我也问过,不过没有得到很好的解决方法。是否需要将A表单进行分解,但又涉及到数据的连续性,我查询起来又很麻烦,所以这个问题请大家能帮忙想一下解决的办法。
实在是查询起来很慢,例如简单的select Data1 from A where DTime between 㗃𗃗㗠and 㗃𗃗㗠order by Dtime Desc。当记录有上万条的时候,那个速度简直是牛㗣¼/td>
用 Sql Server 数据库系统,应该好一点吧,所以还是的熟悉一下 Sql Server 2005,或2008,或者 DB2,Oracle,里面的功能很多,可以写成一个存储过程,或者事务,触发器什么的
分成两个表,一个保存基本信息,一个保存变动明细,然后使用连接查询,比如:
SELECT A.姓名,ISNULL(B.本月工资,A.基本工资) 本月工资
FROM 基本信息 A
LEFT JOIN (SELECT TOP 1 * FROM 工资变动明细 WHERE 统计日期 BETWEEN XXX AND XXX ORDER BY 统计日期 DESC) B
ON B.员工编号=A.员工编号
如果想完整地显示某一时间段内的信息,则使用右连接,比如:
SELECT A.姓名,B.本月工资
FROM 基本信息 A
RIGHT JOIN (SELECT TOP 1 * FROM 工资变动明细 WHERE 统计日期 BETWEEN XXX AND XXX ORDER BY 统计日期 DESC) B
ON B.员工编号=A.员工编号
如果是ACCESS数据库,给表增加一个自动编号字段,设置索引为“有”
之后再试试,,几万条数据,会很快
帮顶
应该给那个查询的字段添索引,然后就会快很多了
pls create index on the DTime
红豆泥?!各位大大的建议我试试先,希望能有更多的意见。晚上就结贴!
索引
存储过程
最好对Order BY 字段 加上 索引 做优化
哦 对了 还有 你可以
用 视图 试试
1万条的记录查询都很慢,说明你肯定没有建索引,所以每次查询时都会导致全表扫描,速度当然慢,索引建立的合理,查询的方法也符合索上要求,不要说1万条,就是1000万,也可以很快完成
根据你的那个查询,应该在 DTime 列上建索引
建立索引,如果还不能满足就建立试图,然后去查询试图就快了.
不建议存储过程,那要加大服务器的负担
1)给字段 DTime 创建索引
2)用 (DTTime >= 㗃𗃗㗩 AND (DTime <= 㗃𗃗㗩 代替 DTime between 㗃𗃗㗠and 㗃𗃗㗼/td>
12 24th, 2008
怎么查询上一次(就一次)的消费记录,
比如说,我昨天或者前天,大前天去消费了,信息被记录数据库,怎么才能查出离现在时间最近的一次呢???
请指点。。。
改正:
select top 1 * from your table order by timefields desc
感谢你。以后还有很多的问题,开请多多关照
谁有关于VB函数的查询软件,要全功能的或者破解的免费的都好,顺便把我的笔记本500元卖了,ibm760xl 比较老的款式!
笔记本无任何问题,就是电池不好使了,带光驱软驱红外线,全部好使,或者换一台台式机没有显示器也可以!没有特殊要求哦!
安装了MSDN 6.0的话,这里面有VB所有函数。
我没有装 试试看
太老了,要不我也想换换品!!
是老了点这个电脑,我看除了用来看vcd就没有什么用途了,有朋友告诉我说,这个学习汇编是款不错的配置!哈哈 我装了MSDN了 不过里面没有代码例题哦
MSDN宇宙版看看
就是不知道你搞不搞得到这个版本.
一般能搞到的就是企业版…我也是.
听说宇宙版只有MS认证的正版用户才能搞到,而且严格限制外流…..
网上可以找的到电子小册子,不过帮助也是不错的选择。
我用VB6.0sp6中使用sql语言在access数据库中创建新表出现错误 ,
我用命令CREATE TABLE a
能成功创建新表名称为a
但是把要创建的表明变成add,系统却提示“CREATE TABLE语句中语法错误!”本人初学百思不得其解,请大家帮忙!
http://doc.51windows.net/vbscript/?url=/vbscript/html/vsfctMid.htm
这里 有 很全了!
add 是 SQL 关键字,跟 CREATE TABLE 连起来就有语法错误了,换个名字就行。
VB函数大全 VB源码下载 http://www.dai-ma.com/code/vb/qita/14510143856.html
VB函数大全 http://bbs.lqcn.cn/viewthread.php?tid=6945
这个更好:VB速查 http://1230.com.ru/vb/?typeid=10&libid=88
不错,顶了