VB打包后关于报表字体中有乱码的问题.在线等待!

IwantFlay 2002-09-25 09:24:51
小弟用VB做了一个小软件,其中有报表输出.打包后安装到其它计算机后在调用报表时,报表中的中文字体有乱码出现.(我用的是水晶报表).我想这是不是字库的问题?如果是字库问题是否可以在打包时将字库一起打包进去?如果可以打包,不知应该如何打包?
还请各位高手帮忙!谢谢!
...全文
62 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mwming 2002-09-26
  • 打赏
  • 举报
回复
你把报表中的字体一起打包,安装程序的同时把字体也一起安装,直接安装到%FontDir%,即字库目录中,一切OK了

IwantFlay 2002-09-25
  • 打赏
  • 举报
回复
sanmui兄,谢谢你!这个字体可以与程序一起打包吗?可以的话不知道怎么打?
昨天你发给我的恢复数据库的那段程序很管用.可是有一个小问题:
我用你的程序新作了一个小程序来试着恢复数据库,一点问题也没有.可是我把它加入到我做的那个软件中后,它就执行不过去了.出错的地方在如下位置:
s = "RESTORE DATABASE Curmigrant FROM DISK = N'" & strBackupDBPath & "' WITH FILE = 1, NOUNLOAD , STATS = 10, RECOVERY"
Set rs = New ADODB.Recordset
With rs
.ActiveConnection = Cn2
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Source = s
.Open
End With

在.OPEN 时就出错了,错误信息为:
Description: Database in use. The system administrator must have exclusive use of the database to run the restore operation.
可是我数据库并没有使用.
而且我单步执行了几次,有两次却可成功,不知道是什么原因?还请教!
Sammi52 2002-09-25
  • 打赏
  • 举报
回复
很有可能是字库的问题,你把字体改为Ms Serif,看看问题是否依旧;乱码问题起在繁简互换经常遇到,一般更改字体即可解决!
Sammi52 2002-09-25
  • 打赏
  • 举报
回复

RESTORE DATABASE Curmigrant FROM DISK = N'" & strBackupDBPath & "' WITH FILE = 1, NOUNLOAD , STATS = 10, RECOVERY
放到Query Analyzer中能成功执行吗?
如果成功,则出错可能与你曾打开过的连接有关

或者在程序中单执行恢复(从未打开任何其它连接)看会不看出错

IwantFlay 2002-09-25
  • 打赏
  • 举报
回复
To sanmui:
我又调试了一下,在企业管理器中发现我原来的一打开进程处于sleep状态中,而系统中始终有一个sa用户的进程处于runnable中,我想是否是因为另一个进程处于sleep状态中的原因而导致数据库被认为正在使用中.
可是我的程序中做恢复操作之前,已经将原先的连接先关闭了.代码如下:
If Not (Cn Is Nothing) Then
If Cn.State <> adStateClosed Then
Cn.Close
End If
Set Cn = Nothing
End If
这应该没有错吧!
我有些弄不懂了.
IwantFlay 2002-09-25
  • 打赏
  • 举报
回复
To sanmui:
我又调试了一下,在企业管理器中发现我原来的一打开进程处于sleep状态中,而系统中始终有一个sa用户的进程处于runnable中,我想是否是因为另一个进程处于sleep状态中的原因而导致数据库被认为正在使用中.
可是我的程序中做恢复操作之前,已经将原先的连接先关闭了.代码如下:
If Not (Cn Is Nothing) Then
If Cn.State <> adStateClosed Then
Cn.Close
End If
Set Cn = Nothing
End If
这应该没有错吧!
我有些弄不懂了.
Sammi52 2002-09-25
  • 打赏
  • 举报
回复
应该可以(我没试过,你试试看),你找到字体文件(在c:\windows\fonts下),使用VB自带打包工具可以添加文件,指定文件的安装路径为$(WinPath)\Fonts;
恢复出错的提示是数据库正在使用,必须确保所有与此数据库的连接都已经关闭,比如Query Analyzer中若当前数据库为要备份的数据库的话,也会弹出此错误提示,你确信你没有运行其它的使用到此数据库的连接吗?
xdd1125 2002-09-25
  • 打赏
  • 举报
回复
您是否是在win2k下开发的,注意此时报表字符集应选“GB_2312”而不是“西方”

请看这个贴子,或帮我up一下
http://www.csdn.net/Expert/TopicView1.asp?id=1048374

807

社区成员

发帖
与我相关
我的任务
社区描述
VB 多媒体
社区管理员
  • 多媒体
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧