Tag: firebird

用Ado连接到Excel

im'试图连接到Firebird数据库使用Ado: Sub Test() Dim conn As ADODB.Connection End Sub 但我得到编译错误: User-defined type not defined 为什么? 我设法使用Excel的Microsoft Query连接数据库。 我有Firebird驱动

火鸟 – 如何使用“(?为空)”来select空白参数

我正在使用链接到Firebird 2.0数据库的Excel报告,我有各种参数链接到对应于下拉列表的单元格引用。 如果一个参数留空,我想select所有可能的选项。 我试图通过把… WHERE …(?为null) ,如http://www.firebirdsql.org/refdocs/langrefupd25-sqlnull.html中所述 ,但我得到一个“无效的数据types“错误。 我find了一些关于这个错误的Firebird文档( http://www.firebirdfaq.org/faq92/ ),但是它声明: “解决方法是将值转换为适当的数据types,以便所有的查询返回相同的数据types为每列“。 我不太清楚在我的情况下这意味着什么。 SELECT C.COSTS_ID, C.AREA_ID, S.SUB_NUMBER, S.SUB_NAME, TP.PHASE_CODE, TP.PHASE_DESC, TI.ITEM_NUMBER, TI.ITEM_DESC, TI.ORDER_UNIT, C.UNIT_COST, TI.TLPE_ITEMS_ID FROM TLPE_ITEMS TI INNER JOIN TLPE_PHASES TP ON TI.TLPE_PHASES_ID = TP.TLPE_PHASES_ID LEFT OUTER JOIN COSTS C ON C.TLPE_ITEMS_ID = TI.TLPE_ITEMS_ID LEFT OUTER JOIN AREA A ON C.AREA_ID = A.AREA_ID LEFT […]

ODBC火鸟VBA Excel慢速

我在VBA Excel中编写了一个接口和后端,它通过Firebird ODBC驱动程序与Firebird数据库交互。 我有数据库在本地运行,速度不是问题。 我最近将它移植到一台服务器上,我可以通过VPN访问它。 问题是非常缓慢。 当然,我的代码效率不高,所以我简化了它。 这个查询返回1600行,在6列。 总运行时间是5秒。 是否应该花费这么长的时间来查询并随后粘贴到电子表格中? mytimer = Timer Dim conn2 As ADODB.Connection Dim box As Variant Set rst2 = New ADODB.Recordset Set conn2 = New ADODB.Connection conn2.Open "SOSA" sql_string = "SELECT * FROM MACHINES" rst2.Open sql_string, conn2, adOpenDynamic, adLockOptimistic box = rst2.GetRows box = Application.Transpose(box) Dim NumRows As Long Dim […]

使用 '?' SQL LIKE语句中的参数

初学者问题在这里… 我通过Excel中的Microsoft Query访问Firebird数据库。 Excel中有一个参数字段,其中包含一个4位数字。 我的一个数据库表有一个包含9位相位代码的列(TP.PHASE_CODE),我需要返回以指定的4位代码作为参数开头的9位代码中的任何一个。 例如,如果我的参数字段包含'8000',我需要find并返回任何相位代码在另一个表/列是LIKE'8000%' 我想知道如何在SQL中做到这一点,因为它看起来不像'?' 表示该参数可以包含在LIKE语句中。 (如果我写在4位数字,查询工作正常,但它不会让我在那里使用一个参数。) 有问题的陈述是这样的: TP.PHASE_CODE像'?%' 这是我的完整代码: SELECT C.COSTS_ID, C.AREA_ID, S.SUB_NUMBER, S.SUB_NAME, TP.PHASE_CODE, TP.PHASE_DESC, TI.ITEM_NUMBER, TI.ITEM_DESC,TI.ORDER_UNIT, C.UNIT_COST, TI.TLPE_ITEMS_ID FROM TLPE_ITEMS TI INNER JOIN TLPE_PHASES TP ON TI.TLPE_PHASES_ID = TP.TLPE_PHASES_ID LEFT OUTER JOIN COSTS C ON C.TLPE_ITEMS_ID = TI.TLPE_ITEMS_ID LEFT OUTER JOIN AREA A ON C.AREA_ID = A.AREA_ID LEFT OUTER JOIN […]