这个问题还有没人会!!!! 用DATAGRID不绑定方式读写数据库完全可以做到,但不是特殊原因没有必要这么做。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我不知道为什么会显示“B”,你能不能描述详细点。先用 ADODC 建立连接,并测试边接通过。再设置 ADODC 的记录源属性,最后将 DATAGRID 的 DATASOURCE 设为 ADODC。这样可以连一个数据库。 第一: 用ADODC建立连接第二: 设置ADODC的RecordSource属性(用SQL语句,在此你即可用SQL语句过滤你要设置的内容) 例如: SELECT 字段1,iif(字段2='A','B',字段2) AS 名称 From 表名第三: 将DBGRID的DATASOURCE设为ADODC即可附录: 由上述SQL过滤的字段内容不可改变,但是实现了你想要的功能. ASC("A")=ASC("B")-1不懂说什么... 自己做个DATAGRID嘛,这样才会发现自己原来也是个程序员呀:)) 枫轻扬: 不懂我才问的!会了还问你? ASC表示什么意思? 解决了给你20分! 1.DATAGRID不能工作在非绑定模式!2.你这样做有何意义? 可以引用微软数据格式化对象库(Microsoft Data Formatting Object Library) 格式化对象技术是 VB6 的增强功能。其最大优点是可以通过编程随心所欲地格式化数据(可参阅 MSDN )。 定义两个recordset(rs1、rs2),rs1用来打开数据库,取得真正的数据,然后用rs2.fields.append分别添加rs1的所有字段,再将所有记录赋给rs2,在rs2中把"A"改为“B”,然后绑rs2到datagrid上。这样不会影响数据库中的数据 试试在ADODC的SQL语句中用CASE...WHEN语句 例程下载:http://microinfo.top263.net/Zip/Format.exe原文: http://microinfo.top263.net/Txt/Format.txt微信软件工作室 (MicroInfo Soft Studio) 于溪玥(PlayYuer) 2000/02/01 帖:《VB6 之数据格式化对象使用技巧》 Visual Basic 提供了许多工具以满足数据访问编程的需要,其中引用微软数据格式化对象库(Microsoft Data Formatting Object Library) 格式化对象技术是 VB6 的增强功能。其最大优点是可以通过编程随心所欲地格式化数据(可参阅 MSDN )。下面以格式化 DataGrid 各列数据为例,演示数据格式化对象的使用方法。首先,根据 DataGrid 各列的数据类型,确定格式化后的格式: 布尔(Boolean)型数据:True = 是;False = 否; 数字(Number)型数据:格式化为大写;其次,确认工程已经引用(Reference)了Microsoft Data Formatting Object Library。再次,在窗体上绘制一个DataGrid控件。接下来,就可以编写代码了:1.声明带 WithEvents 关键字的 StdDataFormat 对象类型的窗体模块级的私有变量,作为大写 格式的数据格式对象: Option Explicit Private WithEvents FmtX As StdDataFormat2.编写Private Sub Form_Load()事件过程: Private Sub Form_Load() '创建含有货币、布尔、数字型字段的记录集 Dim adoRecordset As New ADODB.Recordset adoRecordset.Fields.Append "Fld1", adCurrency, , adFldIsNullable + adFldMayBeNull adoRecordset.Fields.Append "Fld2", adBoolean, , adFldIsNullable + adFldMayBeNull adoRecordset.Fields.Append "Fld3", adDouble, , adFldIsNullable + adFldMayBeNull adoRecordset.Open adoRecordset.AddNew Array("fld1", "fld2", "fld3"), Array(1001231.01, True, 634532.23) adoRecordset.AddNew Array("fld1", "fld2", "fld3"), Array(1000.23, False, 89758242) Set DataGrid1.DataSource = adoRecordset FormatDataGrid DataGrid1 End Sub3.编写一个过程,格式化 DataGrid,可在需要的时机调用: Sub FormatDataGrid(DataGridX As DataGrid) Dim FmtY As New StdDataFormat '用于布尔型字段格式 FmtY.Type = fmtBoolean FmtY.TrueValue = "是" '"真" "对" FmtY.FalseValue = "否" '"假" "错" Set FmtX = New StdDataFormat '实例化用于格式化货币型字段的对象 FmtX.Type = fmtCustom '用于货币型字段格式 Dim adoRecordsetX As ADODB.Recordset Set adoRecordsetX = DataGridX.DataSource Dim i As Integer For i = 0 To adoRecordsetX.Fields.Count - 1 With DataGridX.Columns.Item(i) Select Case adoRecordsetX.Fields.Item(i).Type '可根据字段数据类型设置数据格式 Case adNumeric, adVarNumeric, _ adBigInt, adUnsignedInt, adUnsignedTinyInt, _ adUnsignedSmallInt, adUnsignedBigInt, _ adInteger, adSmallInt, adBigInt, adTinyInt, _ adDecimal, adDouble, adSingle '与数字有关的数据类型 .DataFormat.Format = "Standard" .Alignment = dbgRight Case adCurrency '货币型 Set .DataFormat = FmtX .Alignment = dbgRight Case adBoolean Set .DataFormat = FmtY '布尔型字段设为自定义格式 .Alignment = dbgCenter Case adDate, adDBDate, adDBTimeStamp .DataFormat.Format = "Long Date" '日期、时间 .Alignment = dbgRight Case Else '其它,如:文本等 .Alignment = dbgLeft End Select End With Next i End Sub4.编写数据格式化对象的格式化 (Format) 事件过程: Private Sub FmtX_Format(ByVal DataValue As StdFormat.StdDataValue) '读者可自行编写将数字转化为大写的函数!例如(附录: NtoC 函数): DataValue = NtoC(Trim(Str(DataValue)), "圆", "角", "分") End Sub (该方案在 PWin 9.X 和 VB 6.0 下通过。) 数据格式化对象,可以用于格式化各种具有 DataFormat 属性的控件,程序员可以将数据显示为各种格式。如果格式非常简单,可以使用传统的 Format 函数。如果格式布尔型数据,可以使用过程级的数据格式化对象。如果格式非常复杂,情况很多,则须使用窗体模块级的带事件数据格式化对象,并编程该对象的 Format 等事件。(欢迎去 Http://microinfo.top263.net 下载例程) select fieldname=case when 'A' then 'B' from tablename 可视化编程语言 问题 得到调用dll程序的路径 VB中如何判别EXCEL是否已经启动? vsflexgrid编辑不同的单元表格,输入法不能够保持的问题?===救命啊 急救!! 关于文本框输入的一个问题 用SELECT * FORM语句查询后如何反馈找到的信息!请各位高手指教! 请教:access中二叉树搜索 我定义了个纪录集,但是用addnew添加纪录,总是把当前的纪录给改了,怎样才能添加到后面去呢? 怎样使页面刷新无刷新感,请详细一点,最好有简单的原代码! 关于VB DATAGRID控件 哪里有ADO DATA控件的详细使用方法?拜托!!!
先用 ADODC 建立连接,并测试边接通过。
再设置 ADODC 的记录源属性,
最后将 DATAGRID 的 DATASOURCE 设为 ADODC。
这样可以连一个数据库。
第二: 设置ADODC的RecordSource属性(用SQL语句,在此你即可用SQL语句过滤你要设置的内容)
例如: SELECT 字段1,iif(字段2='A','B',字段2) AS 名称 From 表名
第三: 将DBGRID的DATASOURCE设为ADODC即可附录: 由上述SQL过滤的字段内容不可改变,但是实现了你想要的功能.
不懂说什么...
这样才会发现自己原来也是个程序员呀:))
不懂我才问的!会了还问你?
ASC表示什么意思?
解决了给你20分!
2.你这样做有何意义?
http://microinfo.top263.net/Zip/Format.exe原文: http://microinfo.top263.net/Txt/Format.txt
微信软件工作室 (MicroInfo Soft Studio) 于溪玥(PlayYuer) 2000/02/01 帖:
《VB6 之数据格式化对象使用技巧》 Visual Basic 提供了许多工具以满足数据访问编程的需要,其中引用微软数据格式化对象库
(Microsoft Data Formatting Object Library) 格式化对象技术是 VB6 的增强功能。其最大优
点是可以通过编程随心所欲地格式化数据(可参阅 MSDN )。下面以格式化 DataGrid 各列数据为
例,演示数据格式化对象的使用方法。首先,根据 DataGrid 各列的数据类型,确定格式化后的格式:
布尔(Boolean)型数据:True = 是;False = 否;
数字(Number)型数据:格式化为大写;
其次,确认工程已经引用(Reference)了Microsoft Data Formatting Object Library。
再次,在窗体上绘制一个DataGrid控件。
接下来,就可以编写代码了:1.声明带 WithEvents 关键字的 StdDataFormat 对象类型的窗体模块级的私有变量,作为大写
格式的数据格式对象: Option Explicit
Private WithEvents FmtX As StdDataFormat
2.编写Private Sub Form_Load()事件过程: Private Sub Form_Load()
'创建含有货币、布尔、数字型字段的记录集
Dim adoRecordset As New ADODB.Recordset
adoRecordset.Fields.Append "Fld1", adCurrency, , adFldIsNullable + adFldMayBeNull
adoRecordset.Fields.Append "Fld2", adBoolean, , adFldIsNullable + adFldMayBeNull
adoRecordset.Fields.Append "Fld3", adDouble, , adFldIsNullable + adFldMayBeNull
adoRecordset.Open
adoRecordset.AddNew Array("fld1", "fld2", "fld3"), Array(1001231.01, True, 634532.23)
adoRecordset.AddNew Array("fld1", "fld2", "fld3"), Array(1000.23, False, 89758242) Set DataGrid1.DataSource = adoRecordset FormatDataGrid DataGrid1
End Sub
3.编写一个过程,格式化 DataGrid,可在需要的时机调用: Sub FormatDataGrid(DataGridX As DataGrid)
Dim FmtY As New StdDataFormat '用于布尔型字段格式
FmtY.Type = fmtBoolean
FmtY.TrueValue = "是" '"真" "对"
FmtY.FalseValue = "否" '"假" "错" Set FmtX = New StdDataFormat '实例化用于格式化货币型字段的对象
FmtX.Type = fmtCustom '用于货币型字段格式 Dim adoRecordsetX As ADODB.Recordset
Set adoRecordsetX = DataGridX.DataSource Dim i As Integer
For i = 0 To adoRecordsetX.Fields.Count - 1
With DataGridX.Columns.Item(i)
Select Case adoRecordsetX.Fields.Item(i).Type '可根据字段数据类型设置数据格式
Case adNumeric, adVarNumeric, _
adBigInt, adUnsignedInt, adUnsignedTinyInt, _
adUnsignedSmallInt, adUnsignedBigInt, _
adInteger, adSmallInt, adBigInt, adTinyInt, _
adDecimal, adDouble, adSingle '与数字有关的数据类型
.DataFormat.Format = "Standard"
.Alignment = dbgRight
Case adCurrency '货币型
Set .DataFormat = FmtX
.Alignment = dbgRight
Case adBoolean
Set .DataFormat = FmtY '布尔型字段设为自定义格式
.Alignment = dbgCenter
Case adDate, adDBDate, adDBTimeStamp
.DataFormat.Format = "Long Date" '日期、时间
.Alignment = dbgRight
Case Else '其它,如:文本等
.Alignment = dbgLeft
End Select
End With
Next i
End Sub
4.编写数据格式化对象的格式化 (Format) 事件过程: Private Sub FmtX_Format(ByVal DataValue As StdFormat.StdDataValue)
'读者可自行编写将数字转化为大写的函数!例如(附录: NtoC 函数):
DataValue = NtoC(Trim(Str(DataValue)), "圆", "角", "分")
End Sub (该方案在 PWin 9.X 和 VB 6.0 下通过。)
数据格式化对象,可以用于格式化各种具有 DataFormat 属性的控件,程序员可以将数据显示
为各种格式。如果格式非常简单,可以使用传统的 Format 函数。如果格式布尔型数据,可以使用
过程级的数据格式化对象。如果格式非常复杂,情况很多,则须使用窗体模块级的带事件数据格式
化对象,并编程该对象的 Format 等事件。(欢迎去 Http://microinfo.top263.net 下载例程)