在ACCESS数据库中添加一个新表,为什么不能用中文??

daryl715 2001-10-26 10:38:54
private Function creat()
Dim testdb As Database
Dim testtd As TableDef
Dim testfield1 As Field
Dim testfield2 As Field
Dim testfield3 As Field
Dim testfield4 As Field
Dim testfield5 As Field
Dim testfield6 As Field
Dim testfield7 As Field
Dim testfield8 As Field
Dim testfield9 As Field
Dim testfield10 As Field
Set testdb = OpenDatabase(c:\"111.mdb")
Set testtd = testdb.CreateTableDef(Form10.Text1.Text)
Set testfield1 = testtd.CreateField("姓名", dbText)
Set testfield2 = testtd.CreateField("性别", dbText)
testtd.Fields.Append testfield1
testtd.Fields.Append testfield2
testdb.TableDefs.Append testtd
end function

如果字段都用中文(姓名,性别)就会出错,提示“性字段别已经在表中”
如果换成英文名称作为字段就没有任何问题,或者在性别两个字中间加空格也没问题
这是为什么?是因为中文参与数据库运算不兼容吗?还是什么别的原因?
谢谢大家指导

岂能尽如人意,但求无愧我心,很高兴认识大家!
QQ:341157
E-mail:daryl@ihw.com.cn
...全文
177 点赞 收藏 20
写回复
20 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cqq_chen 2001-12-07
为什么用中文做为字段名呢?我认为用中文做字段名是很麻烦的一件事,在查询及统计时常出现意想不到的问题,相反如果用英文做字段则很从问题很容易可以解决。你可以把汉字意义写到每个字段的CAPTION中,程序中可以很好地访问啊!
回复
daryl715 2001-12-07
有人知道吗?
回复
renxuangigi 2001-11-30
用ADO可以的。
回复
daryl715 2001-11-30
有人知道吗?
回复
daryl715 2001-11-17
仍然提示“不能重复定义字段”
回复
daryl715 2001-11-17
to 害虫
我照你的方法做了,但提示和原来一样,不知道你是怎样成功的,请详细一点,谢谢

岂能尽如人意,但求无愧我心,很高兴认识大家!
QQ:341157
E-mail:daryl@ihw.com.cn

回复
81083 2001-11-11
这个贴子好
回复
jjhc 2001-11-11
我这样弄行,试一下吧!
Private Sub Form_Load()
Dim PathName As String
PathName = App.Path

Dim MyTable As TableDef, MyField As Field
Dim MyDatabase As Database
Set MyDatabase = opendatabase(PathName + "\Favorite.mdb")
Set MyTable = MyDatabase.CreateTableDef("Subclass")
Set MyField = MyTable.CreateField("姓名", dbText, 50)
MyTable.Fields.Append MyField
MyDatabase.TableDefs.Append MyTable

Set MyTable = MyDatabase.CreateTableDef("AllRecords")
Set MyField = MyTable.CreateField("姓名", dbText, 50)
MyTable.Fields.Append MyField
Set MyField = MyTable.CreateField("地址", dbText, 50)
MyTable.Fields.Append MyField
MyDatabase.TableDefs.Append MyTable
End Sub
回复
daryl715 2001-11-11
没有人知道吗 ?
回复
daryl715 2001-11-04
怎么还没有人能回答呢?
回复
daryl715 2001-11-01
对不起,我想知道我这种方法为什么不正确,不想回避问题
回复
siyuan79 2001-10-28
用ADO吧。可以的。
我试过
回复
daryl715 2001-10-28
怎样看是否用了英文数据引擎(我用的VB+access2000,都是中文版,应该不是英文的吧)
回复
guest 2001-10-28
是不是用了英文的数据引擎的原因?
回复
daryl715 2001-10-28
还没人能帮我解决问题吗?
回复
daryl715 2001-10-27
怎么没人回答啊
回复
Richard2001 2001-10-26
将中文用方括号括起来:testtd.CreateField("[姓名]", dbText)
又如:
Select [姓名],[性别] from 111
回复
antidongaman 2001-10-26
是你的方法不对!!!中文表名和中文字段名都可以!
回复
ithc 2001-10-26
用ADO吧
回复
daryl715 2001-10-26
to Richard2001(Richard) 
我照你这样做了,可仍然提示错误

这次是这样的‘[姓名]’不是一个有效名称,请确认它不包含无效的字符或标点,且名称不太长“

这又是为什么呢?:-)

岂能尽如人意,但求无愧我心,很高兴认识大家!
QQ:341157
E-mail:daryl@ihw.com.cn
回复
相关推荐
发帖

1187

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2001-10-26 10:38
社区公告
暂无公告