VB6.0开发文件管理小数据库-基于ACCESS

news2024/11/20 15:41:07

'

今天的客户也是小客户,需要对文件的一些操作记录在数据库里面,这里采用的数据库ACCCESS,用的是VB自带的可视化数据管理器创建的mdb数据库文件。实现了数据的增删改查。简单方便。基本可以用这套代码模板实现大部分的数据库功能了。想研发或学习的朋友可以加我q1016058890

Dim DataRst     As New ADODB.Recordset

    
Private Sub Command10_Click()
  Set VSFlexGrid1.DataSource = DataRst  '刷新表格
End Sub

Private Sub Command11_Click()
  Text2 = Format(Now, "yyyy/mm/dd")
End Sub

Private Sub Command12_Click()

    Dim DataRst2     As New ADODB.Recordset
      sSQL = "Select * from 文件信息表 where  文件 like '%" & Text3 & "%'" & "ORDER BY 日期 ASC"
      DataRst2.Open sSQL, cnn, adOpenKeyset, adLockReadOnly  ' 重新打开表
      If Not DataRst2.EOF Or Not DataRst2.BOF Then  '没有到顶 或者 没有到底
        Set VSFlexGrid1.DataSource = DataRst2  '刷新表格
      End If
        Label3.Caption = DataRst2.RecordCount '显示查询结果的总数
      DataRst2.Close '最好是写上,不过不谢也没事
      

End Sub

Private Sub Command13_Click()
  Dim DataRst2     As New ADODB.Recordset
      sSQL = "Select * from 文件信息表 where  文件 like '%" & Text3 & "%'" & "ORDER BY 日期 DESC"
      DataRst2.Open sSQL, cnn, adOpenKeyset, adLockReadOnly  ' 重新打开表
      If Not DataRst2.EOF Or Not DataRst2.BOF Then  '没有到顶 或者 没有到底
        Set VSFlexGrid1.DataSource = DataRst2  '刷新表格
      End If
        Label3.Caption = DataRst2.RecordCount '显示查询结果的总数
      DataRst2.Close '最好是写上,不过不谢也没事
End Sub

Private Sub Command14_Click()
    Dim DataRst2     As New ADODB.Recordset
      sSQL = "Select * from 文件信息表 where  文件 like '%" & Text3 & "%'" & "ORDER BY 文件 ASC"
      DataRst2.Open sSQL, cnn, adOpenKeyset, adLockReadOnly  ' 重新打开表
      If Not DataRst2.EOF Or Not DataRst2.BOF Then  '没有到顶 或者 没有到底
        Set VSFlexGrid1.DataSource = DataRst2  '刷新表格
      End If
        Label3.Caption = DataRst2.RecordCount '显示查询结果的总数
      DataRst2.Close '最好是写上,不过不谢也没事
      

End Sub

Private Sub Command15_Click()
  Dim DataRst2     As New ADODB.Recordset
      sSQL = "Select * from 文件信息表 where  文件 like '%" & Text3 & "%'" & "ORDER BY 文件 DESC"
      DataRst2.Open sSQL, cnn, adOpenKeyset, adLockReadOnly  ' 重新打开表
      If Not DataRst2.EOF Or Not DataRst2.BOF Then  '没有到顶 或者 没有到底
        Set VSFlexGrid1.DataSource = DataRst2  '刷新表格
      End If
        Label3.Caption = DataRst2.RecordCount '显示查询结果的总数
      DataRst2.Close '最好是写上,不过不谢也没事
End Sub


Private Sub Command9_Click()
    Dim DataRst2     As New ADODB.Recordset
      sSQL = "Select * from 文件信息表 where  文件 like '%" & Text3 & "%'"
      DataRst2.Open sSQL, cnn, adOpenKeyset, adLockReadOnly  ' 重新打开表
      If Not DataRst2.EOF Or Not DataRst2.BOF Then  '没有到顶 或者 没有到底
        Set VSFlexGrid1.DataSource = DataRst2  '刷新表格
      End If
        Label3.Caption = DataRst2.RecordCount '显示查询结果的总数
      DataRst2.Close '最好是写上,不过不谢也没事
      
      
  
End Sub

Private Sub Form_Load()


    
    Call 数据库连接
   Dim sSQL As String
   sSQL = "Select * from 文件信息表"
   DataRst.Open sSQL, cnn, adOpenKeyset, adLockPessimistic   '读取表  adLockReadOnly只读

    Label3.Caption = DataRst.RecordCount '显示查询结果的总数
    Set VSFlexGrid1.DataSource = DataRst  '刷新表格
    
    
    
    Text2 = Format(Now, "yyyy/mm/dd")
    
    
    
    设置VSFlexGrid1数据表格
 End Sub
 
 Private Sub Form_Unload(Cancel As Integer)
   DataRst.Close
End Sub
 
 
 
 
 
 
Private Sub 设置VSFlexGrid1数据表格()

  VSFlexGrid1.BackColorAlternate = RGB(255, 250, 230)  '间隔行背景色
     VSFlexGrid1.RowHeightMin = 400                      '最小行高
     
            Dim i  As Long
            For i = 1 To 7
                  If i = 1 Then
                    VSFlexGrid1.ColWidth(i) = 10000              '指定列宽
                  ElseIf i = 2 Then
                     VSFlexGrid1.ColWidth(i) = 1000              '指定列宽
                 ElseIf i = 3 Then
                     VSFlexGrid1.ColWidth(i) = 1000         '指定列宽
                     
                 ElseIf i = 4 Then
                     VSFlexGrid1.ColWidth(i) = 3000         '指定列宽
                Else
                     
                  End If
                
            Next i
'           VSFlexGrid1.ColAlignment(-1) = flexAlignCenterCenter
End Sub

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Private Sub Command1_Click()


If DataRst.RecordCount > 0 Then
  DataRst.MoveFirst
  
  '  如果你当前是指向数据集的第一项,那么moveprevious就会出错。方法是,用rs.Eof来判断是否到尾端,用Rs.Bof判断是否在首端。
   If DataRst.EOF = False And DataRst.BOF = False Then  '没有到顶 或者 没有到底
        Text1.Text = DataRst.Fields("姓名")
        Text2.Text = DataRst.Fields("年龄")
    End If
    
     Label3.Caption = DataRst.AbsolutePosition & "/" & DataRst.RecordCount

End If

  
   
  End Sub
Private Sub Command2_Click()

If DataRst.RecordCount > 0 Then
  '  如果你当前是指向数据集的第一项,那么moveprevious就会出错。方法是,用rs.Eof来判断是否到尾端,用Rs.Bof判断是否在首端。
  DataRst.MoveNext
  If DataRst.EOF = False And DataRst.BOF = Flase Then
'        Text1.Text = DataRst.Fields("姓名")
'        Text2.Text = DataRst.Fields("年龄")
 Else
         DataRst.MoveLast
  End If
  
'      Label3.Caption = DataRst.AbsolutePosition & "/" & DataRst.RecordCount

  End If
    'Err.Description
End Sub

Private Sub Command3_Click()

If DataRst.RecordCount > 0 Then
           DataRst.MovePrevious
           
          '  如果你当前是指向数据集的第一项,那么moveprevious就会出错。方法是,用rs.Eof来判断是否到尾端,用Rs.Bof判断是否在首端。
           If DataRst.EOF = False And DataRst.BOF = False Then      '没有到顶 或者 没有到底
        
'                Text1.Text = DataRst.Fields("姓名")
'                Text2.Text = DataRst.Fields("年龄")
                Else
                
                 DataRst.MoveFirst
            End If
            
'                  Label3.Caption = DataRst.AbsolutePosition & "/" & DataRst.RecordCount
'
    End If

   
   'Err.Description
End Sub

Private Sub Command4_Click()

If DataRst.RecordCount > 0 Then
DataRst.MoveLast
  '  如果你当前是指向数据集的第一项,那么moveprevious就会出错。方法是,用rs.Eof来判断是否到尾端,用Rs.Bof判断是否在首端。
   If DataRst.EOF = False And DataRst.BOF = False Then  '没有到顶 或者 没有到底
'        Text1.Text = DataRst.Fields("姓名")
'        Text2.Text = DataRst.Fields("年龄")
    End If
'        Label3.Caption = DataRst.AbsolutePosition & "/" & DataRst.RecordCount

  End If
   'Err.Description
End Sub

Private Sub Command5_Click() '精确查询
'      Dim DataRst2     As New ADODB.Recordset
'      sSQL = "Select * from 人员信息表 where  姓名 = '" & Text3 & "'"
'      DataRst2.Open sSQL, cnn, adOpenKeyset, adLockReadOnly  ' 重新打开表
'      If Not DataRst2.EOF Or Not DataRst2.BOF Then  '没有到顶 或者 没有到底
'        Text1.Text = DataRst2.Fields("姓名")
'        Text2.Text = DataRst2.Fields("年龄")
'      End If
'      DataRst2.Close '最好是写上,不过不谢也没事
End Sub


Private Sub Command6_Click()

If Text1 = "" Or Text2 = "" Or Combo1.Text = "" Then
 MsgBox "请填写文件信息,否则无法新增!"
 Exit Sub
End If

If Text4 = "" Then
    Text4 = "无"
End If
 
Dim AdoObj  As New ADODB.Recordset
 
    sSQL = "Select * from 文件信息表 "   '客户电话
    AdoObj.Open sSQL, cnn, adOpenKeyset, adLockPessimistic
    
            AdoObj.AddNew
            AdoObj!文件 = Text1.Text
            AdoObj!日期 = Text2.Text
            AdoObj!动作 = Combo1.Text
            AdoObj!备注 = Text4.Text
       
       
       
       
       
            AdoObj.Update
            AdoObj.Close
            
         
            

            sSQL = "Select * from 文件信息表 "   '客户电话
                              AdoObj.Open sSQL, cnn, adOpenKeyset, adLockPessimistic
                             
                             
                              
                                
                                Set VSFlexGrid1.DataSource = AdoObj  '刷新表格
                                
                                Label3.Caption = AdoObj.RecordCount '显示查询结果的总数
                                
                                AdoObj.Close

                             MsgBox "保存成功"
        
        
        
        
        
        
    
        
        
        
        
        
        
End Sub

Private Sub Command7_Click()

If Text1 = "" Or Text2 = "" Or Combo1.Text = "" Then
 MsgBox "请在表格中选择你要删除的数据"
 Exit Sub
End If

       Dim AdoObj  As New ADODB.Recordset
       Dim sSQL    As String

        If MsgBox("确定要删除吗?", vbYesNo, "提示") = vbNo Then Exit Sub
    
        sSQL = "Select * from 文件信息表 where 文件='" & Text1.Text & "'" & "  and  日期=#" & Text2 & "#" & "  and  动作='" & Combo1.Text & "'"
        AdoObj.Open sSQL, cnn, adOpenKeyset, adLockPessimistic

         If AdoObj.RecordCount > 0 Then
                        AdoObj.Delete
                        AdoObj.Update
                        AdoObj.Close
            
                        sSQL = "Select * from 文件信息表"
                        AdoObj.Open sSQL, cnn, adOpenKeyset, adLockPessimistic
                         Set VSFlexGrid1.DataSource = AdoObj  '刷新表格
                         Label3.Caption = AdoObj.RecordCount
                          AdoObj.Close
                          
                          
                          
                          Text1 = ""
                          
                           Text2 = ""
                           
                           Combo1.Text = ""
                           
         Else
                           
                             MsgBox "删除失败"
        End If
        
        
        
        
        
        
        

End Sub

Private Sub Command8_Click()

    Dim AdoObj  As New ADODB.Recordset
    Dim sSQL    As String
    '注意这里不能用 本界面的 txtUser 控件来获取姓名 进行修改查询的,因为这个时候你的名称已经修改了,你无法查询到这个名称,会修改失败的!
    sSQL = "Select * from 文件信息表 where 文件='" & VSFlexGrid1.TextMatrix(VSFlexGrid1.RowSel, 1) & "'" & "  and  日期=#" & VSFlexGrid1.TextMatrix(VSFlexGrid1.RowSel, 2) & "#" & "  and  动作='" & VSFlexGrid1.TextMatrix(VSFlexGrid1.RowSel, 3) & "'"
    AdoObj.Open sSQL, cnn, adOpenKeyset, adLockPessimistic

                If AdoObj.RecordCount > 0 Then
                              AdoObj!文件 = Text1.Text
                              AdoObj!日期 = Text2.Text
                              AdoObj!动作 = Combo1.Text
                               AdoObj!备注 = Text4.Text
                              AdoObj.Update
                              AdoObj.Close
                  
                              sSQL = "Select * from 文件信息表 "   '客户电话
                              AdoObj.Open sSQL, cnn, adOpenKeyset, adLockPessimistic
                              Set VSFlexGrid1.DataSource = AdoObj  '刷新表格
                               Label3.Caption = AdoObj.RecordCount
                              AdoObj.Close
                              
                              
                              
                           Text1 = ""
                          
                           Text2 = ""
                           
                           Combo1.Text = ""
                              
                              MsgBox "修改成功"
                              
                              
                              
                              
                             
                Else
                              MsgBox "修改失败"
                End If
  
  
  
  
End Sub

Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
    For i = 1 To Data.Files.Count ' 逐个读取文件路径
     Text1 = Data.Files(i)
    Next
End Sub


Private Sub VSFlexGrid1_Click()

       Text1.Text = VSFlexGrid1.TextMatrix(VSFlexGrid1.RowSel, 1)  '文件名
        Text2.Text = VSFlexGrid1.TextMatrix(VSFlexGrid1.RowSel, 2) ' 日期
        Combo1.Text = VSFlexGrid1.TextMatrix(VSFlexGrid1.RowSel, 3)  '动作
         Text4.Text = VSFlexGrid1.TextMatrix(VSFlexGrid1.RowSel, 4) ' 日期
End Sub
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1046243.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自定义ElementPlus主题颜色

构建工具采用Vite CSS预处理器采用Sass 一.准备定制化的样式文件 1.安装Sass npm i sass -D 2.创建好文件目录 3.书写样式 ElementPlus默认样式. //index.scss/* 只需要重写你需要的即可 */ forward element-plus/theme-chalk/src/common/var.scss with ($colors: (prim…

腾讯云秒杀活动是什么?如何参与?

腾讯云是国内知名的云计算服务提供商之一,为了吸引更多的用户,腾讯云会不定期地推出各种各样的优惠活动,其中最受大家欢迎的就是“腾讯云秒杀活动”。本文将为大家详细介绍腾讯云秒杀活动参与方式以及购买攻略。 一、腾讯云秒杀活动是什么&am…

【操作系统】处理机调度的基本概念和三个层次、进程调度的时机和方式、调度器、闲逛线程

🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 Redis 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 操作系统 一、处理机调度基本概念二、处理机…

【论文阅读】UniDiffuser: Transformer+Diffusion 用于图、文互相推理

而多模态大模型将能够打通各种模态能力,实现任意模态之间转化,被认为是通用式生成模型的未来发展方向。 最近看到不少多模态大模型的工作,有医学、金融混合,还有CV&NLP。 今天介绍: One Transformer Fits All Di…

七、装饰者模式

这里写自定义目录标题 1、项目需求2、解决方案13、解决方案24、装饰者模式定义5、装饰者模式原理6、装饰者模式解决上述需求7、装饰者模式在jdk应用的源码分析 1、项目需求 2、解决方案1 3、解决方案2 可以控制类的数量,不至于造成很多的类在增加或者删除调料种类…

100万级连接,石墨文档WebSocket网关如何架构?

说在前面 在40岁老架构师 尼恩的读者交流群(50)中,很多小伙伴拿到一线互联网企业如阿里、网易、有赞、希音、百度、滴滴的面试资格。 最近,尼恩指导一个小伙伴简历,写了一个《高并发网关项目》,此项目帮这个小伙拿到 字节/阿里/…

自学WEB后端05-Node.js后端服务链接数据库redis

嘿,亲爱的小伙伴们!😄 今天我要给大家分享一个超级方便且高效的 NoSQL 类型数据库——Redis!💡 它可不是一般的关系型数据库哦,而是以键值对形式存储数据的内存数据库。📚 快跟着我一起来学习如…

GEO生信数据挖掘(一)数据集下载和初步观察

检索到目标数据集后,开始数据挖掘,本文以阿尔兹海默症数据集GSE1297为例 目录 GEOquery 简介 安装并加载GEOquery包 getGEO函数获取数据(联网下载) 更换下载数据源 对数据集进行初步观察处理 GEOquery 简介 GEOquery是一个…

基于springboot+vue的旅游系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

如何看待程序员这个职业?

程序员作为高薪职业,主要是指从事程序开发、程序维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、中级程序员、高级程序员(现为软件设计师&…

基于体系结构-架构真题2022(四十一)

给定关系模式R(U,F),其中U为属性集,F是U上的一组函数依赖,那么函数依赖的公理系统中分解规则是指()为F所蕴含。 解析: 伪传递是x到y,wy到z,则xw到z 传递是z…

【性能测试】jmeter连接数据库jdbc

一、下载第三方工具包驱动数据库   1. 因为JMeter本身没有提供链接数据库的功能,所以我们需要借助第三方的工具包来实现。 (有这个jar包之后,jmeter可以发起jdbc请求,没有这个jar包,也有jdbc取样器,但不能…

服务断路器_Resilience4j信号量隔离实现

POM引入依赖 <dependency><groupId>io.github.resilience4j</groupId><artifactId>resilience4j-bulkhead</artifactId><version>1.7.0</version> </dependency>信号量隔离修改YML文件 resilience4j:#信号量隔离bulkhead:ins…

【数据结构】八大排序算法-代码实现+复杂度分析+稳定性分析+总结

文章目录 关于稳定性插入排序直接插入排序希尔排序 选择排序直接选择排序堆排序 交换排序冒泡排序快速排序hoare版本挖坑法两路划分 快排致命点三路划分小区间优化 快排非递归 归并排序非递归版本 计数排序-鸽巢原理绝对映射相对映射 插入排序和选择排序的对比总结 关于稳定性 …

UNITY—2D游戏制作入门!

Unity作为当今最流行的游戏引擎之一&#xff0c;受到各大厂商的喜爱。 像是炉石传说&#xff0c;以及逃离塔克夫&#xff0c;都是由unity引擎开发制作。 作为初学者的我们&#xff0c;虽然无法直接做出完成度那么高的作品&#xff0c;但每一个伟大的目标&#xff0c;都有一个…

机柜PDU产品采购与安装指南——TOWE精选

机柜PDU指的是Power Distribution Unit&#xff0c;即电源分配单元。它是一种电子设备&#xff0c;通常用于为数据中心、服务器机房等设施中的计算机和其他设备提供电力&#xff0c;是各行业数据中心“标配”构成部分&#xff0c;以确保服务器等用电设备的安全和稳定运行。 数据…

Android的GNSS功能,搜索卫星数量、并获取每颗卫星的信噪比

一、信噪比概念 信噪比&#xff0c;英文名称叫做SNR或S/N&#xff08;SIGNAL-NOISE RATIO)&#xff0c;又称为讯噪比。是指一个电子设备或者电子系统中信号与噪声的比例。 信噪比越大&#xff0c;此颗卫星越有效&#xff08;也就是说可以定位&#xff09;。也就是说&#xff0…

2023最新最详细软件测试技术面试题【含答案】

【软件测试面试突击班】如何逼自己一周刷完软件测试八股文教程&#xff0c;刷完面试就稳了&#xff0c;你也可以当高薪软件测试工程师&#xff08;自动化测试&#xff09; 有这样一个面试题&#xff1a;在一个Web测试页面上&#xff0c;有一个输入框&#xff0c;一个计数器&…

【考研数学】概率论与数理统计 —— 第三章 | 二维随机变量及其分布(3,二维随机变量函数的分布)

文章目录 七、二维随机变量函数的分布7.1 二维随机变量函数分布的基本情形 ( X , Y ) (X,Y) (X,Y) 为二维离散型随机变量 ( X , Y ) (X,Y) (X,Y) 为二维连续型随机变量 X X X 为离散型变量&#xff0c; Y Y Y 为连续型变量 7.2 常见二维随机变量的函数及其分布 Z min ⁡ { X ,…

使用“讯飞星火”快速生成高质量PPT文档

随着互联网的发展,人们获取信息的渠道越来越多,如何在有限的时间内快速完成工作任务变得尤为重要。在此背景下,各类智能写作工具应运而生。讯飞星火(https://xinghuo.xfyun.cn/desk)就是这样一款非常实用的工具。它能够通过AI技术,仅需输入标题、关键词等信息,就能快速生成完整…