 |
操作系统: win98
编程工具: vb6.0
问题:用VB6.0的ADOX通过编程语言自动创建ACCESS数据库时,当我创建一个字段并定义它的数据类型为adDouble,我不知道如何编程设定它的格式。例如:常规数字,货币,固定,标准百分比,科学记数等等。这样一来,当我碰到数值为0.5时,数据库却保存为.5。我希望的格式为“固定”,该如何编程,谢谢。
举例如下:
'创建数据库
Public Sub CreateDatabase(dbName As String)
'On Error GoTo ErrorCreateDB
Dim catDB As New ADOX.Catalog
Dim tblNew(1) As ADOX.Table
Dim Idx() As ADOX.Index
Dim sCnn As String
sCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=" & dbName
catDB.Create sCnn
Set tblNew(0) = New ADOX.Table
tblNew(0).ParentCatalog = catDB
With tblNew(0)
.Name = "wyt"
.Columns.Append "ID", adInteger
.Columns("ID").Properties("AutoIncrement").Value = True
.Columns.Append "aa", adDouble
.Columns("aa").Properties("NullAble") = True '必填字段
.Columns("aa").Properties("Jet OLEDB:Allow Zero Length") = True '允许空字符串
End With
ReDim Idx(0)
Set Idx(0) = New ADOX.Index
Idx(0).Name = "ID"
Idx(0).IndexNulls = adIndexNullsAllow
Idx(0).Columns.Append "ID"
tblNew(0).Indexes.Append Idx(0)
catDB.Tables.Append tblNew(0)
Set catDB = Nothing
Exit Sub
ErrorCreateDB:
If Not (catDB Is Nothing) Then Set catDB = Nothing
End Sub
水平: 中级(djs)
|
| |
|
 |
我曾经也碰到类似问题,做一个农产品价格在网上发布,在网上显示0.5为.5 ,后改数据类型为字符型就OK了,当数据要相加时得进行强制类型转换,将字符型按规定的格式转换成单精度等类型。
walkonthesky的意见:
数据库中这样显示是正常的,这种情况的处理需要在前端显示的时候进行格式化处理,如:
VALUE =0.5 则
format(VALUE,"$###,##0.00")
将会显示$0.50
format(VALUE,"¥###,##0.00")
将会显示¥0.50
format(VALUE,"¥###,##00.000我好爱钱钱,可是没有钱")
将显示¥00.500我好爱钱钱,可是没有钱
相关问题:
QA004778 "如何设置才能使其显示为0.5,而不是.5"
此问题由夏利民回答。
附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, 数据库, database, query。
|
| |
|
| |
|
| |
|
|