CSS   发布时间:2022-04-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ms-access – Access查询的CSV导出将float(Single / Double)值限制为2个小数位大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我搜索了几个小时来将小数位数更改为8,而不是使用VBA Access将小数位数更改为2.我找到了一些使用此标记来更改系统属性的解决方案:

公共Const LOCALE_ILZERO =& H12

但它不起作用,我不知道如何改变我的程序,独立于使用该程序的计算机.

谁能帮助我?

解决方法

在我自己解决这个问题并发现我可以将Access表/查询导出到Excel然后从那里将其保存为CSV之后,我自动执行了这样的过程:
Public Sub ExportToCsvViaExcel(ItemToExport As String,_
        DesTinationFileSpec As String,_
        Optional IncludeFieldNames As Boolean = TruE)
    Const TemporaryFolder = 2
    Const xlUp = -4162
    Const xlCSVWindows = 23
    Dim xlApp As Object  ' Excel.Application
    Dim xlWorkbook As Object  ' Excel.Workbook
    Dim fso As Object  ' FileSystemObject
    Dim TempFileSpec As String

    Set fso = CreateObject("ScripTing.FileSystemObject")
    TempFileSpec = fso.GetSpecialFolder(TemporaryFolder) & "\" & fso.GetTempName & ".xls"
    Set fso = Nothing
    DOCMd.TransferSpreadsheet acExport,acSpreadsheetTypeExcel9,ItemToExport,TempFileSpec,false
    Set xlApp = CreateObject("Excel.Application")
    Set xlWorkbook = xlApp.Workbooks.Open(TempFileSpeC)
    If Not IncludeFieldNames Then
        xlApp.Rows("1:1").SELEct
        xlApp.SELEction.delete Shift:=xlUp
    End If
    xlWorkbook.SaveAs DesTinationFileSpec,xlCSVWindows
    xlWorkbook.Close false
    Set xlWorkbook = Nothing
    xlApp.Quit
    Set xlApp = Nothing
    Kill TempFileSpec
End Sub

上面的代码不会强制小数位数为8(或任何其他数字),它只输出尽可能多的数字.

据我所知,从Access本身更改CSV导出的舍入/截断行为的唯一方法是在Windows控制面板中打开“区域和语言选项”,单击“自定义此格式…”按钮“格式”选项卡,然后更改“数字”选项卡上的“十进制后的位数”值:

(2是一个非常常见的默认值.在上面的对话框中我将它改为5.)

我不知道有什么方法可以从VBA中改变这个值,我怀疑这样做会改变当前正在运行的Access实例的行为.

大佬总结

以上是大佬教程为你收集整理的ms-access – Access查询的CSV导出将float(Single / Double)值限制为2个小数位全部内容,希望文章能够帮你解决ms-access – Access查询的CSV导出将float(Single / Double)值限制为2个小数位所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。