从 VB6 向 MS Access 插入订单

2024-01-31

我有一个用于培训管理的旧 VB 应用程序。它是用 VB6 编写的,数据库是 MsAccess。 当我使用该应用程序时,在保存培训课程时,所有记录都保存在以前的记录之间(不按顺序)。它没有添加到最后一行。该应用程序还从数据库中获取数据并将其显示在网格视图中。所以最终的显示是未排序的。就像我使用表单添加的最新数据一样,显示在中间行的某个位置。 当我看到数据库表时,所有新数据都添加到中间行中。 这里我将展示代码:

sql = "INSERT INTO TrAssignment (BatchID,Category,CourseNumber,CourseTitle,FromDate,ToDate,Duration,Location, Trainer, FixedCost,DefaultStudentCost) VALUES ('" & CStr(txtBatchid.Text) & "','" & CStr(cmbCrscategory) & "','" & CStr(sCourNo) & "', '" & CStr(sCourTitle) & "','" & SchfromDTPick.Value & "','" & SchtoDTPicker.Value & "','" & CStr(txtSchduration.Text) & "','" & cmbLocation & "','" & CStr(cmbTrainer) & "','" & CStr(Trim(txtFixedcost.Text)) & "','" & CStr(Trim(txtDefault.Text)) & "')"
                rs.Open sql, conn, adOpenDynamic, adLockOptimistic

而且表单中的日期格式类似于 dd-mm-yyyy,对于某些记录,日期会以这种确切的格式保存。但对于某些人来说,日期格式类似于 d/m/yyyy。 只是他们从日期控件中获取日期,代码中没有格式化。


您的日期格式错误。一般来说,您可以从此功能中受益:

' Converts a value of any type to its string representation.
' The function can be concatenated into an SQL expression as is
' without any delimiters or leading/trailing white-space.
'
' Examples:
'   SQL = "Select * From TableTest Where [Amount]>" & CSql(12.5) & "And [DueDate]<" & CSql(Date) & ""
'   SQL -> Select * From TableTest Where [Amount]> 12.5 And [DueDate]< #2016/01/30 00:00:00#
'
'   SQL = "Insert Into TableTest ( [Street] ) Values (" & CSql(" ") & ")"
'   SQL -> Insert Into TableTest ( [Street] ) Values ( Null )
'
' Trims text variables for leading/trailing Space and secures single quotes.
' Replaces zero length strings with Null.
' Formats date/time variables as safe string expressions.
' Uses Str to format decimal values to string expressions.
' Returns Null for values that cannot be expressed with a string expression.
'
' 2016-01-30. Gustav Brock, Cactus Data ApS, CPH.
'
Public Function CSql( _
    ByVal Value As Variant) _
    As String

    Const vbLongLong    As Integer = 20
    Const SqlNull       As String = " Null"

    Dim Sql             As String
    Dim LongLong        As Integer

    #If Win32 Then
        LongLong = vbLongLong
    #End If
    #If Win64 Then
        LongLong = VBA.vbLongLong
    #End If

    Select Case VarType(Value)
        Case vbEmpty            '    0  Empty (uninitialized).
            Sql = SqlNull
        Case vbNull             '    1  Null (no valid data).
            Sql = SqlNull
        Case vbInteger          '    2  Integer.
            Sql = Str(Value)
        Case vbLong             '    3  Long integer.
            Sql = Str(Value)
        Case vbSingle           '    4  Single-precision floating-point number.
            Sql = Str(Value)
        Case vbDouble           '    5  Double-precision floating-point number.
            Sql = Str(Value)
        Case vbCurrency         '    6  Currency.
            Sql = Str(Value)
        Case vbDate             '    7  Date.
            Sql = Format(Value, " \#yyyy\/mm\/dd hh\:nn\:ss\#")
        Case vbString           '    8  String.
            Sql = Replace(Trim(Value), "'", "''")
            If Sql = "" Then
                Sql = SqlNull
            Else
                Sql = " '" & Sql & "'"
            End If
        Case vbObject           '    9  Object.
            Sql = SqlNull
        Case vbError            '   10  Error.
            Sql = SqlNull
        Case vbBoolean          '   11  Boolean.
            Sql = Str(Abs(Value))
        Case vbVariant          '   12  Variant (used only with arrays of variants).
            Sql = SqlNull
        Case vbDataObject       '   13  A data access object.
            Sql = SqlNull
        Case vbDecimal          '   14  Decimal.
            Sql = Str(Value)
        Case vbByte             '   17  Byte.
            Sql = Str(Value)
        Case LongLong           '   20  LongLong integer (Valid on 64-bit platforms only).
            Sql = Str(Value)
        Case vbUserDefinedType  '   36  Variants that contain user-defined types.
            Sql = SqlNull
        Case vbArray            ' 8192  Array.
            Sql = SqlNull
        Case Else               '       Should not happen.
            Sql = SqlNull
    End Select

    CSql = Sql & " "

End Function
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 VB6 向 MS Access 插入订单 的相关文章

  • 使用 vb.net 在 MS Access 中插入和更新值

    我已经检查了该网站上的大部分论坛 但没有得到我的解决方案 我的问题是将数据从 vb net 插入到 MS Access 但我无法做到 它没有显示任何错误 但也没有在我的表中插入值 我正在使用非常简单的代码 Imports System Da
  • 是否可以在 .Net Windows 表单内托管 Microsoft Access 表单?

    我问是否可以在 Net 表单中托管 Microsoft Access 表单 不 我没有发疯 我们正在维护一个完全用 VBA 编写的庞大系统 由一个不太了解 VBA 的人尝试使用 Microsoft Access 作为 IDE 它基本上是数千
  • Visual Basic 6:如何使应用程序在任务栏中可见?

    我已将属性 ShowInTaskBar 设置为 true 但我的应用程序在任务栏中不可见 表单具有最小化 最大化和关闭按钮 当我单击最小化时 表单最小化为屏幕左下角的小表单 但不显示在任务栏中 你的表单是模态的吗 MyForm Show v
  • MS-Access:合并彼此“下方”的两个表

    我的 Access 数据库中有两个表 它们看起来像这样 Table1 Kabelnummer Column1 Column2 Column3 1 x x x 2 x x x
  • VB6 - Lua 集成

    我想知道是否有人有任何集成 Lua 和 VB6 的技巧 我正在运行一个小型在线角色扮演游戏 添加一些脚本会很棒 嗯 这是可行的 我曾经为 Lua 5 0 2 做过 但找不到文件 在您拥有的选项中 您可以 将 Lua 封装在公开 Lua AP
  • 在 msAccess 中更新失败,但在 dgv C# 中更新成功

    这是我的 btnUpdate 代码 以便 msAccess 进行更新 private void btnUpdate Click object sender EventArgs e string CoString Provider Micro
  • 在 C# 中使用 VB6 字符串数组

    我有 旧的 VB6 代码 我想从 C 代码中使用它 这有点类似于这个问题 https stackoverflow com questions 23507416 passing string array from vb6 to c net 但
  • VT_DATE 类型的微秒支持

    VT DATE 变体类型是否支持微秒分辨率 请告诉我如何在VB中显示相同的内容 http msdn microsoft com en us library ms221646 aspx http msdn microsoft com en u
  • 如何将现有的窗体添加到 vb6 项目中?

    我的 vb6 项目中有一个表单 Search frm 我想添加具有不同名称 SearchNew frm 的相同表单 我复制了表单 Search frm 并重命名为 SearchNew frm 并尝试添加到项目中 但它给我一个错误 Searc
  • 在 VBA 循环中导出查询以根据字符串值选择数据

    我有一个名为 TEST 的表 下面的代码根据 Territory 列中的唯一值循环导出查询 该代码应该根据 Territory 列中的唯一值将数据导出到 Excel 文件 因此每个 Territory 值都有它自己的文件 我在设置 sql
  • Access SQL 查询:查找表中每个不同条目的最新日期行

    All 我确信这是一个非常简单的 SQL 查询问题 但我确信有一个很好的方法 也有一个非常糟糕的方法来做到这一点 如果由我自己决定 我很可能会得到后者 所以 我在 Access 中有一个表 其中的数据如下所示 ID Value As of
  • 如何将exe异常路由回VB6应用程序?

    我有一个 vb6 应用程序 它将调用 mencoder exe 它是 mplayer 的一部分 用于将某些文件转换为 flv 格式 每当我尝试转换这个 opendivx 文件时 我都会从 mencoder 收到这个奇怪的未处理异常问题 目前
  • MS Access 查询:检查表单是否打开/检查参数是否需要输入

    我目前正在尝试在 MS Access 查询 使用 GUI 工具 而不是 SQL 工具 中检查特定表单是否打开 而不使用 VBA 使用以下表达式 Expr1 Formulaires Form1 Visible 如果 Form1 打开 查询工作
  • 需要从 DCOM 配置中删除对象 (DCOMCNFG)

    我们有一个带有 activex exe 和 com dll 的应用程序 安装后 我们会在 DCOM 配置中创建一个对象 如果我们尝试从 DCOM 配置中删除该对象 它就会关闭 直到我们再次重新打开它 想知道是否有任何程序可以从 DCOM 及
  • VB6 获取 Active Directory 域列表

    使用VB6 是否可以获取活动目录中所有可用域的列表 谢谢 亚历克斯 将 ActiveDS 类型库和 ADO 的引用添加到您的项目中 Sub GetDomains Dim objRootDSE As IADs Dim objBase As I
  • 为什么我应该关心压缩 MS Access .mdb 文件?

    我们分发一个使用 MS Access mdb 文件的应用程序 有人注意到 在 MS Access 中打开文件后 文件大小缩小了很多 这表明该文件是压缩的良好候选者 但我们不为用户提供执行此操作的方法 所以 我的问题是 这重要吗 我们关心吗
  • 如何隐藏组合框下拉列表中的列?

    我正在 Excel 用户窗体中构建一个 ComboBox 该用户窗体从 Access 表中获取其行 我想在下拉列表中向用户显示多个文本字段 但从 ComboBox 返回的值应该是与用户选择的行关联的 ID 号 即 ID 列是绑定列 但我不想
  • 无法删除 Microsoft Access 2003 中的主 -> 子子表单链接

    我在删除访问子报表数据表单中的主 gt 子链接字段时遇到问题 我尝试了各种方法来删除它们 使用子报表的属性窗口以及链接向导 我还从数据库中删除了子报表 然后将现有对象重新导入到新的访问实例中 一旦我重新添加子表单并将其命名为相同的名称 链接
  • 我们可以使用sql列出MS Access数据库中的所有表吗?

    我们可以使用 sql 找到 ms access 中的所有表吗 就像我们在 sql server 中所做的那样 select from sys tables 在sqlite中 SELECT FROM sqlite master where t
  • INTEGER 到 DATETIME 的转换与 VB6 不同

    我正在查看一些遗留的 VB6 代码 比我的时代早很多年 它对 SQL 2005 数据库运行查询 它提供了日期限制WHERE子句 其中日期作为整数值给出CLng VB6 中的日期 e g WHERE SomeDateField gt 4006

随机推荐

  • 为什么 swift 中函数有多种返回类型?

    我注意到这个函数有一个独特的返回类型 func chooseStepFunction backward Bool gt Int gt Int func stepForward input Int gt Int return input 1
  • FileSystemWatcher 在网络机器上设置凭据

    有没有办法为 filesystemwatcher 对象设置凭据 该应用程序在不同的用户上运行 该用户无权访问网络计算机上的目录 但我想向 filesystemwatcher 对象提供凭据 以便它可以侦听该目录 可行吗 不需要 只需确保您的应
  • PHP 强制下载损坏的 .xlsx 文件

    我正在开发一个允许教师上传文档和学生下载文档的网站 然而 有一个问题 Microsoft Word docx 文件下载完美 但下载 Excel xlsx 文件时 Excel 会显示 此文件已损坏 无法打开 对话框 任何对此的帮助将不胜感激
  • Windows 手机 8.1 |如何判断本地文件夹中是否存在文件?

    如何确定文件是否存在于本地文件夹中 Windows Storage ApplicationData Current LocalFolder 在 Windows Phone 8 1 上 不幸的是 目前没有直接的方法来检查文件是否存在 您可以尝
  • PyQt5 QWebEngineView不显示网页

    The part where webpage should be rendered gets white for a fraction of second and then gets empty 这是我的代码 基本上是https www p
  • 构建两个独立数据库集成的最佳方法?

    我在工作中遇到了以下问题 我没有经验或知识来回答这些问题 我希望你们中的一些明智的人能够为我指明正确的方向 任何答案将不胜感激 Scenario 实施立面图案 http en wikipedia org wiki Facade patter
  • 捕获 async void 方法抛出的异常

    使用 Microsoft for NET 的异步 CTP 是否可以在调用方法中捕获异步方法抛出的异常 public async void Foo var x await DoSomethingAsync Handle the result
  • 使用 Python 或其他方法从 PDF 中提取指向另一个 PDF 中页面的链接

    我有 5 个 PDF 文件 每个文件都有指向另一个 PDF 文件中不同页面的链接 这些文件都是大型 PDF 的目录 每个大约 1000 页 使得手动提取成为可能 但非常痛苦 到目前为止 我已尝试在 Acrobat Pro 中打开该文件 我可
  • 如何使用 xsl 1.0 查找最小值和最大值?

    文件 1 xml
  • 如何找到货币的 html 代码?

    美元 的html代码是 36 我如何找到其他货币的 html 代码 多谢 这里有一些 测试 Web 浏览器中的 Unicode 支持 货币符号 http www alanwood net unicode currency symbols h
  • Android 在主屏幕上创建快捷方式

    我想做的是 1 我在一个活动中 有 2 个按钮 如果我单击第一个 则会在主屏幕中创建快捷方式 快捷方式打开一个html页面之前已经下载过 所以我希望它使用默认浏览器 但我不想使用互联网 因为我已经有了该页面 2 第二个按钮创建另一个启动活动
  • 如何刷新 HTML bag 上的 Canvas?

    我有一个 javascript 程序 可以在屏幕上绘制一百个圆圈 它们可以在画布上自行弹跳 目前 我在它们上面画了一个空矩形以擦除它们的下一代 但是有没有更好的方法来擦除和刷新 HTML 页面上的 Canvas Code function
  • Webpack Karma Istanbul 重新映射 TypeScript

    我正在开发一个客户端应用程序 但在创建正确的 Karma 配置时遇到问题 现在 我的设置如下 Webpack 使用 ts loader 编译 TypeScript 资产等 Karma 使用 webpack 插件 加载 Webpack 配置
  • 使用 javascript 将换行符替换为空格

    我想看看是否可以阻止回车键并将其替换为空格 我还使用表单验证仅允许字母 数字和其他一些特定字符 例如美元符号 减号和句点等 这是该代码 我想看看是否可以将它们合并为一个 并能够检查验证并将按键替换为一个代码 调用中的空格
  • Weka 高斯过程算法中的错误:乘法仅适用于双精度数

    我有这个数据集 我想通过请求 API 将 weka 算法应用于它 RELATION dataset ATTRIBUTE timestamp DATE yyyy MM dd HH mm ss z ATTRIBUTE action scale
  • 在后退按钮上单击执行功能。

    On document ready我有一个函数 它收集具有 wordNum 属性的 html 控件 我发出一个 AJAX 请求 该请求返回每个控件的一些描述 然后我设置这些控件及其innerhtml带有返回描述的属性 问题是 如果用户单击后
  • 如何修复 python 请求中的 错误?

    我正在使用一个 API 它接收 pdf 文件并进行一些分析 但我总是收到 Response 500 最初使用 Postman 进行测试 请求通过 收到带有相应 JSON 信息的响应 200 应关闭 SSL 安全性 但是 当我尝试通过 Pyt
  • UIActivityViewController 在 iOS 7 上不显示 FB 和 Twitter

    我正在尝试使用 UIActivityViewController 分享一些项目 在 iOS 6 上它运行良好 但是当我在 iOS 7 上测试它时 只显示邮件图标 由于怀疑我的 SDK 太旧 我下载了最新的 SDK 但它的行为仍然相同 我在模
  • 在 Android Studio 中更改矢量资源的填充颜色

    Android Studio 现在支持 21 上的矢量资源 并将在编译时为较低版本生成 png 我有一个矢量资源 来自材质图标 我想更改填充颜色 这适用于 21 但生成的 png 不会改变颜色 有没有办法做到这一点
  • 从 VB6 向 MS Access 插入订单

    我有一个用于培训管理的旧 VB 应用程序 它是用 VB6 编写的 数据库是 MsAccess 当我使用该应用程序时 在保存培训课程时 所有记录都保存在以前的记录之间 不按顺序 它没有添加到最后一行 该应用程序还从数据库中获取数据并将其显示在