|
[Vb.net] #CRYSTAL REPORT LOGON FAIL WITH PASSWORD PROTECTED ACCESS DATABASE
[复制链接]
|
|

楼主 |
发表于 18-11-2005 08:00 AM
|
显示全部楼层
DSN 还是 network path?
原帖由 goatstudio 于 14-11-2005 02:17 PM 发表
Network 方面其实很简单, 只要各电脑可以在 network 里看到对方就可以了.
你可以把资料库放在一个中央电脑上, 然后每台的 client 就用 oledb 来 point 去那资料库咯, 你可以用 map drive, 也可以直接指向那台 ...
我MAP Drive 后做了DSN,跑的时候,出一个error--
could not find installable ISAM
点解?
但是,如果我直接放那个networkpath,又没有问题,可以跑.....
我是不是应该直接给path?还是DSN比较好? crystal report的path 要怎样refer?
[ 本帖最后由 雨吟 于 18-11-2005 03:36 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 18-11-2005 08:33 AM
|
显示全部楼层
我的搞定了... RESTART 机后竟然可以... 有时真是的....#@@%$@^@%$
我MAP DRIVE 后..POINT 到那里就可以了 |
|
|
|
|
|
|
|

楼主 |
发表于 18-11-2005 09:30 AM
|
显示全部楼层
原帖由 雨吟 于 18-11-2005 08:00 AM 发表
我MAP Drive 后做了DSN,跑的时候,出一个error--
could not find installable ISAM
点解?
但是,如果我直接放那个networkpath,又没有问题,可以跑.....
我是不是应该直接给path?还是DSN比较好?
我的connection String --
Public con As String = "Provider=Microsoft.Jet.OLEDB.4.0;DSN=CRPS;"
Public conCRPS As New OleDbConnection(con) |
|
|
|
|
|
|
|
发表于 18-11-2005 05:58 PM
|
显示全部楼层
原帖由 雨吟 于 18-11-2005 08:00 AM 发表
我MAP Drive 后做了DSN,跑的时候,出一个error--
could not find installable ISAM
点解?
但是,如果我直接放那个networkpath,又没有问题,可以跑.....
我是不是应该直接给path?还是DSN比较好? crys ...
ISAM 的问题的话, 可以尝试升级你的 MDAC.
如果可以用 network drive 的话, 就直接用 network drive, map drive 只是方便.
如果可以的话, 应该尽量用 OleDB. |
|
|
|
|
|
|
|

楼主 |
发表于 18-11-2005 10:21 PM
|
显示全部楼层
原帖由 goatstudio 于 18-11-2005 05:58 PM 发表
ISAM 的问题的话, 可以尝试升级你的 MDAC.
如果可以用 network drive 的话, 就直接用 network drive, map drive 只是方便.
如果可以的话, 应该尽量用 OleDB.
嗯。。我现在在用oledb...
问题是,map drive 我就必须 hardcode 他的 path了。。。。
这样子,user有什么要改我就要去帮他setup过了。。。。。
有什么办法可以flexibie & 方便user的? |
|
|
|
|
|
|
|
发表于 19-11-2005 03:19 PM
|
显示全部楼层
原帖由 雨吟 于 18-11-2005 10:21 PM 发表
嗯。。我现在在用oledb...
问题是,map drive 我就必须 hardcode 他的 path了。。。。
这样子,user有什么要改我就要去帮他setup过了。。。。。:(
有什么办法可以flexibie & 方便user的?
我常用的方法是 xml 文件. 例如说你先制作一个跟机的 xml, 叫着 config.xml
<appconfig>
<dbconn>xxxxx</dbconn>
</appconfig>
然后你在你的 apps 里就制作一个 static method 来读取, 或是一个专门的 class 来读取.
static method 是确保你可以在任何地方不需要 class declare 来读取这个数值.
例子 (c#):
public sealed class Config {
public static string DBConnection {
get {
return MyClass.ReadValue ("dbconn");
}
}
}
public class MyClass {
public static string ReadValue (string key) {
// 这里读取相关的 xml key
}
}
你要呼叫 connection string 的话, 可以直接这么做:
OleDbConnection conn = new OleDbConnection (Config.DBConnection);
[ 本帖最后由 goatstudio 于 19-11-2005 04:15 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 21-11-2005 03:55 PM
|
显示全部楼层
如何在VB.NET 做个小时钟? 是用TIMER吗?? 我只是要DISPLAY 日期和时间然后时间的秒数会自动跳....
如何在我自己写的程序里打开别的程序? 例如, 我按下一个BUTTON 然后我的ACCESS DATABASE 就打开了.. 是用什么Command ??
我用了以下的方法但是好象不是很好,也好象不对...虽然是可以打开...
System.Diagnostics.Process.Start("my access database directry")
谢谢帮忙!!
[ 本帖最后由 callmee 于 21-11-2005 04:20 PM 编辑 ] |
|
|
|
|
|
|
|

楼主 |
发表于 22-11-2005 03:33 PM
|
显示全部楼层
|
|
|
|
|
|
|

楼主 |
发表于 22-11-2005 03:39 PM
|
显示全部楼层
原帖由 callmee 于 21-11-2005 03:55 PM 发表
如何在VB.NET 做个小时钟? 是用TIMER吗?? 我只是要DISPLAY 日期和时间然后时间的秒数会自动跳....
如何在我自己写的程序里打开别的程序? 例如, 我按下一个BUTTON 然后我的ACCESS DATABASE 就打开了.. 是用什 ...
嗯。。我也是半桶水刚学,答案不懂对不对咯。。。。希望可以帮到你啦。。。
我只知道你可以用DateTime.Now来找到现在的时间。。。 要display 时分秒就看你自己怎样format....
如果你要整个access 开出来的话,我就不会。。如果你只是要其中的table,你可以用datagrid...
ps:我的答案都是好像是。。罢了。。你自己试试看咯。。。 有错的话,请这里的大大指正。。。 |
|
|
|
|
|
|
|
发表于 22-11-2005 05:19 PM
|
显示全部楼层
原帖由 雨吟 于 22-11-2005 03:39 PM 发表
嗯。。我也是半桶水刚学,答案不懂对不对咯。。。。希望可以帮到你啦。。。
我只知道你可以用DateTime.Now来找到现在的时间。。。 要display 时分秒就看你自己怎样format....
如果你要整个access 开出来 ...
你半桶水那就是你半桶的半桶了~~~~ 
今天又被水晶报告弄的团团转~~~~哎...真是 #@!%!%$#%@^@%^#&#$
我用上面我说的方法是可以开得到ACCESS DATABASE. 不过,我是觉得不太正确.希望各位大大能指正.
至于时间的问题并不是很重要啦.. 我是能显示日期与时间只是不会自动化更新...这个时间的问题各位大大如果觉得不想回答也不用紧.. 谢谢 啦... |
|
|
|
|
|
|
|
发表于 23-11-2005 09:43 AM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 23-11-2005 01:12 PM
|
显示全部楼层
dynamic 读取 connection string的方法有很多种,其中一种最简单的是...
直接丢个oledbconnection,set好connection string,然后直接在其dynamic property里的ConnectionString里check那个"Map Property to a key in configuration file"就好了...
要改connection string时去web.config/app.config里改就好了...
多善用control里现成的property,可以让你的工作变得很简单,例如databinding和dynamic property就是... |
|
|
|
|
|
|
|
发表于 23-11-2005 01:19 PM
|
显示全部楼层
如果一定要用code的话,可以用
dim yourValue as string = System.Configuration.ConfigurationSettings.AppSettings("yourKey")
在你的web.config/app.config里:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="yourKey" value="yourValue" />
</appSettings>
</configuration>
[ 本帖最后由 astral 于 23-11-2005 01:20 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 23-11-2005 01:37 PM
|
显示全部楼层
原帖由 astral 于 23-11-2005 01:12 PM 发表
dynamic 读取 connection string的方法有很多种,其中一种最简单的是...
直接丢个oledbconnection,set好connection string,然后直接在其dynamic property里的ConnectionString里check那个"Map Property to ...
谢谢啦!!! 原来dynamic property里的ConnectionString是这样用的... |
|
|
|
|
|
|
|

楼主 |
发表于 24-11-2005 10:18 PM
|
显示全部楼层
如何dynamic设定crystal report 的data source??
crystal report 里头会有一个data source...
但是现在在network 跑,data source就该refer别架电脑的database了。。。
请问,我要如何解决这个问题?要怎样重新给那个crystal report 新的datasource? |
|
|
|
|
|
|
|
发表于 24-11-2005 10:31 PM
|
显示全部楼层
原帖由 雨吟 于 24-11-2005 10:18 PM 发表
crystal report 里头会有一个data source...
但是现在在network 跑,data source就该refer别架电脑的database了。。。
请问,我要如何解决这个问题?要怎样重新给那个crystal report 新的datasource?
不太了解... 为什么 data source 会无端端去 refer 另一台电脑? |
|
|
|
|
|
|
|

楼主 |
发表于 24-11-2005 11:22 PM
|
显示全部楼层
原帖由 goatstudio 于 24-11-2005 10:31 PM 发表
不太了解... 为什么 data source 会无端端去 refer 另一台电脑?
因为create crystal report 的时候, data source refer to local pc...
现在network 跑测试,假设data 放在别架电脑。。。database = map drive的地方了,比如说Z:/。。那同时,之前crystal report 里local设定的data source就不能用了。。也必须找个方法可以dynamic再设定那个data source....
无论如何,我找到办法啦~谢谢~~

http://support.businessobjects.c ... ticles/c2010371.asp |
|
|
|
|
|
|
|

楼主 |
发表于 25-11-2005 02:32 PM
|
显示全部楼层
怎样一次过handle所有 textbox的keypress?
我现在知道如何做一个textbox 的 keypres event.....但是如果要所有form 的textbox都跑同样的event,请问该如何?
Private Sub TxtUID_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtUId.KeyPress
If Char.IsControl(e.KeyChar) = False And _
Char.IsLetter(e.KeyChar) = False Then
e.Handled = True
End If
End Sub |
|
|
|
|
|
|
|
发表于 26-11-2005 03:32 PM
|
显示全部楼层
要所有form 的textbox?
一个form的所有textbox,我就有试过。
比较简单的方法是,
1,用form的keypress,设定keypreview=true
2,用addhandle的方法
如果要所有form的可以把以上的方法加在每个form里。
Example 1
Private Sub MyKeyPress()
MsgBox("testing")
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.KeyPreview = True
End Sub
Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
MyKeyPress()
End Sub
--------------------------------------------------------
Example 2
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
AddHandler TextBox1.KeyPress, AddressOf MyKeyPress
AddHandler TextBox2.KeyPress, AddressOf MyKeyPress
End Sub
Private Sub MyKeyPress(ByVal o As [Object], ByVal e As KeyPressEventArgs)
MsgBox("testing")
End Sub
这是不是你要的?
[ 本帖最后由 meemee 于 26-11-2005 03:34 PM 编辑 ] |
|
|
|
|
|
|
|

楼主 |
发表于 27-11-2005 05:58 PM
|
显示全部楼层
怎样在coding里头customize crystal report 的 size?
请问,我要印半张A4 Paper 大小的 report,在CR 里虽然已经设定了它的custom size,可是装上别架电脑又会随机的printer要重新set custom size......
这样子似乎太麻烦user了。。所以,请问要怎样在coding里头set好? |
|
|
|
|
|
|
| |
本周最热论坛帖子
|