77范文网 - 专业文章范例文档资料分享平台

VB打开EXCEL的方法解析(4)

来源:网络收集 时间:2019-06-11 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

★将用户名和密码存于数据库中的数据表“用户设置”中,下面是密码验证过程: Cn.ConnectionString = \Security Info=True;User ID=carbide;Initial Catalog=Carbide;Data Source=172.16.13.16\\SQLEXPRESS\ Cn.Open

Dim SqlStr As String

SqlStr = \* from [dbo].[用户设置] where [UN]='\& txtUserName.Text & \And [PW]='\& txtPassword.Text & \ Set Rs = Cn.Execute(SqlStr)

If Not Rs.EOF Then Rs.Close Cn.Close OK = True Me.Hide Else

MsgBox \密码错误,再试一次!\, \登录\ txtPassword.SetFocus txtPassword.SelStart = 0

txtPassword.SelLength = Len(txtPassword.Text) Rs.Close Cn.Close End If

★SQL 查询并取值的问题

Cn.ConnectionString = \Security Info=True;User ID=carbide;Initial Catalog=Carbide;Data Source=172.16.13.16\\SQLEXPRESS\ Cn.Open

Dim SqlStr As String

SqlStr = \* from [dbo].[用户设置] where [UN]='\& txtUserName.Text & \And [PW]='\& txtPassword.Text & \ Set Rs = Cn.Execute(SqlStr)

If Not Rs.EOF Then Dlr = Rs(\姓名\ DlID = txtUserName.Text Rs.Close Cn.Close end if

★如何判断字段值为空

If IsNull(Rs(FgP)) = True And IsNull(Rs(FgKg)) = True Then

y = y + 1 GoTo 11 Else

ComFgYy(x).Text = Yy(y)

TexFgP(x).Text = Rs(FgP).Value TexFgKg(x).Text = Rs(FgKg).Value TexFgQk(x).Text = Rs(FgQk).Value y = y + 1 End If

★更改已有记录 Cn.Open

Dim SqlStr As String

SqlStr = \* from [dbo].[产品质检明细] where [记录号]=\& LshCx Rs.Open SqlStr, Cn, 1, 3

Rs(\记录号\= LshCx Rs(\录入时间\= Now

Rs(\检验时间\= DTPJyrq.Value Rs.update

★删除已有记录 Cn.Open

Dim SqlStr As String

SqlStr = \from [dbo].[产品质检明细] where [记录号]=\& LshCx Rs.Open SqlStr, Cn, 1, 3 Cn.Close

★SQL复制记录

INSERT INTO `table` SELECT * FROM `table` WHERE id=1; 没有主键时候才可以。。有主键时候就要写上列:

INSERT INTO `table`(`a`,`b`,`c`) SELECT `a`,`b`,`c` FROM `table` WHERE id=1;

补充:如果要插入数据的表比前表字段但是也要插入数据,可以用mysql函数产生栏目填充,例如:ABS(1),TRIM('abc')

UPDATE `table` SET a = !a WHERE id = 1;//布爾值取反

UPDATE `table1`,`table2` SET `table1`.id = `table2`.id WHERE `table1`.id = `table2`.id;//更新

★SQL语句查找空值

select * from 表格 where 字段名 is null ★将SQL查找结果导出到EXCEL

Dim xlApp As New Excel.Application Dim xlBook As New Excel.Workbook Dim xlSheet As New Excel.Worksheet Dim m As Integer, n As Integer Dim Ran As String

Set xlApp = CreateObject(\'创建EXCEL应用类

Set xlBook = xlApp.Workbooks.Open(\质检明细100520.xls\'打开EXCEL工作簿

xlApp.Visible = True '设置EXCEL不可见 Set xlSheet = xlBook.Worksheets.Add

ActiveSheet.Name = \产品质日报表\& Format(Now, \H_MM_SS\'打开EXCEL工作表 m = 2

Do While Not Rs.EOF

For n = 0 To Rs.Fields.Count - 1 Ran = x & \& x

xlSheet.Cells(1, n + 1) = Rs.Fields(n).Name xlSheet.Cells(m, n + 1) = Rs(n).Value Next

Rs.MoveNext m = m + 1 Loop

Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing

★VB 中 DataGrid 的使用方法

SqlStr = \* from dbo.代码 where [JDE代码]='\& Trim(Text1(0).Text) & \

Cn.CursorLocation = adUseClient '关键语句,有了这句控件才能显示数据集的内容 Cn.Open

'Rs.Open SqlStr, Cn

Set Rs = Cn.Execute(SqlStr)

If Not Rs.EOF Then

Text1(1).Text = Rs(\牌号\ Text1(2).Text = Rs(\型号\ Text1(3).Text = Rs(\单位\

Set DataGrid1.DataSource = Rs '关键语句,将控件和数据集连接起来 'DataGrid1.ClearFields 'DataGrid1.ReBind Else

MsgBox (\没有找到对应 JDE代码 的信息!\ End If

★ 单击就全选文本框中内容,文本框用到了控件数组(index= 0 to 8) Private Sub Text1_Click(Index As Integer) Text1(Index).SelStart = 0

Text1(Index).SelLength = Len(Text1(Index).Text) End Sub

★在textbox中显示 datagrid 表格中选中单元格所在列的记录

Dim DataBj As Integer '标记表中是否有数据显示, 有为 1 没有 为 0 Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)

If DataBj = 1 Then

Text1(0).Text = DataGrid1.Columns(\代码\' DataGrid1 Text1(1).Text = DataGrid1.Columns(\牌号\'rs1(\牌号\ Text1(2).Text = DataGrid1.Columns(\型号\'rs1(\型号\

Text1(3).Text = DataGrid1.Columns(\说明\'rs1(\说明\ Text1(4).Text = DataGrid1.Columns(\备注\'rs1(\备注\ Combo1.Text = DataGrid1.Columns(\单位\'rs1(\单位\ ID = DataGrid1.Columns(\'rs1(\End If

注意:DataGrid1_RowColChange 事件在datagrid控件中的内容有改变的时候都会被激活,所以在查询结果显示出来之前该事件就被激活了,会出现好不到记录的提示,为了解决这个问题,需要引入一个变量DataBj 来标记是否已经有查询结果显示在表格中,使当表格中有内容的时候才执行DataGrid1_RowColChange事件中的代码。

★通过SQL语句删除表中重复记录的方法

原理:晒出无重复的记录 将数据导入到另外一个相同的表中(名字不同),再将无重复记录的表的名字改为源表的名字。

INSERT INTO DBO.代码2 ([ID],[JDE代码],[牌号],[型号],[单位],[说明]) SELECT DISTINCT [ID],[JDE代码],[牌号],[型号],[单位],[说明] FROM dbo.代码

★定时任务,使用 Timer控件,在Timer控件的interval属性中设置时间间隔, 单位是 毫秒 (1秒=1000毫秒) 例:Private Sub Timer1_Timer() rs.Requery

DataGrid1.refresh End Sub

★如何获得查询结果的 记录条数

X = Rs.RecordCount 'X就是记录的条数 vb中recordcount返回值总是为-1:

这样就没问题rs.open sqlstr,conn,3,2 这样就有问题rs.open sqlstr,conn,1,2

因为conn后第一个数字是1表示指针只能往前,3表示自由指针 使用RecordCount属性可确定Recordset对象中记录的数目。ADO无法确定记录数时,或者如果提供者或游标类型不支持RecordCount,则该属性返回–1。读已关闭的Recordset上的RecordCount属性将产生错误。

如果Recordset对象支持近似定位或书签(即Supports(adApproxPosition)或Supports(adBookmark)各自返回True),不管是否完全填充该值,该值将为Recordset中记录的精确数目。如果Recordset对象不支持近似定位,该属性可能由于必须对所有记录进行检索和计数以返回精确RecordCount值而严重消耗资源。

Recordset对象的游标类型会影响是否能够确定记录的数目。对仅向前游标,RecordCount属性将返回-1,对静态或键集游标返回实际计数,对动态游标取决于数据源返回-1或实际计数。

★关闭当前窗口的代码 Unload Me

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VB打开EXCEL的方法解析(4)在线全文阅读。

VB打开EXCEL的方法解析(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/655637.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: