|
Hello Vijay,
There are several tools available in the market for Help Authoring. Perform a google search with the keyword "Help Authoring Tools".
One of the tools I am aware of is Doc To Help. Check the link below for more information on it:
http://doctohelp.com/
Regards,
Dave
Dave Traister
Software Engineer
ComponentOne LLC
www.ComponentOne.com
|
|
|
|
|
Search for HTML Help Workshop.
"I love deadlines. I like the whooshing sound they make as they fly by." (DNA)
|
|
|
|
|
anybody who knows or have an idea about this error in VB2005 and CrystalRport XI R2 and MS ACCESS?
CRAXDRT.ConnectionPropertiesClass.getItem(String Name) "Error: Invalid Index"
Here's my code:
************************
<br />
<br />
Public crxApp As CRAXDRT.Application<br />
Public crxReport As CRAXDRT.Report<br />
Public crxDataBase As CRAXDRT.Database<br />
Public crxTable As CRAXDRT.DatabaseTable<br />
Public crxTables As CRAXDRT.DatabaseTables<br />
Public crxConnectionProperty As CRAXDRT.ConnectionProperty<br />
<br />
<br />
Public strSelectionfrm As String<br />
Public strCRSourcePath As String<br />
<br />
Private Sub frmCrystalReport_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />
Try<br />
ChildFormAutoSizeFit(Me)<br />
Me.Cursor = Cursors.WaitCursor<br />
Me.MdiParent = frmMain<br />
Dim i As Integer = 0<br />
<br />
crxApp = New CRAXDRT.Application<br />
<br />
crxReport = crxApp.OpenReport(strCRSourcePath, CrystalDecisions.Shared.OpenReportMethod.OpenReportByDefault)<br />
<br />
crxTables = crxReport.Database.Tables<br />
<br />
For Each crxTable In crxReport.Database.Tables<br />
<br />
'Note: The error occurs here<br />
crxConnectionProperty = crxTable.ConnectionProperties("Data Source") = crxDataBasePath<br />
crxConnectionProperty = crxTable.ConnectionProperties("Database Name") = myDataBasePath & "\dbEmployee.mdb"<br />
crxConnectionProperty = crxTable.ConnectionProperties("User ID") = "myUserID"<br />
crxConnectionProperty = crxTable.ConnectionProperties("Password") = "myPassword"<br />
Next crxTable<br />
<br />
crxReport.Database.Verify()<br />
<br />
crxReport.SQLQueryString = strSelectionfrm<br />
<br />
AxCRViewer1.ReportSource = crxReport<br />
AxCRViewer1.ViewReport()<br />
<br />
crxDataBase = Nothing<br />
crxTable = Nothing<br />
crxTables = Nothing<br />
crxReport = Nothing<br />
crxApp = Nothing<br />
<br />
Catch ex As Exception<br />
MsgBox(ex.ToString())<br />
Finally<br />
Me.Cursor = Cursors.Default<br />
End Try<br />
End Sub<br />
*******************
actually i know that the error's occurs on the part where..
crxConnectionProperty = crxTable.ConnectionProperties() -->indexing or string name..
but i have just follow it from other forums that works for them..
anybody who have a good solutions about this error?? Please help... Im so frustated to figure it out myself...
|
|
|
|
|
vbDigger'z wrote: 'Note: The error occurs here
crxConnectionProperty = crxTable.ConnectionProperties("Data Source") = crxDataBasePath
Should this say crxDataBase, not crxDataBasePath?
-------------------------------------------
Don't walk in front of me, I may not follow;
Don't walk behind me, I may not lead;
Just bugger off and leave me alone!!
|
|
|
|
|
Note: The error occurs here
crxConnectionProperty = crxTable.ConnectionProperties("Data Source") = crxDataBasePath
Should this say crxDataBase, not crxDataBasePath?
*******
Yup!! actually i try it both...
<br />
public crxDataBasePath as string = "D:\folder1\folder2\Database"<br />
<br />
For Each crxTable In crxReport.Database.Tables<br />
crxConnectionProperty = crxTable.ConnectionProperties("Data Source") = crxDataBasePath<br />
crxConnectionProperty = crxTable.ConnectionProperties("Initial Catalog") = "dbEmployee.mdb"<br />
crxConnectionProperty = crxTable.ConnectionProperties("User ID") = "myUserID"<br />
crxConnectionProperty = crxTable.ConnectionProperties("Password") = "myPassword"<br />
Next crxTable<br />
********
still the same error in that first line of,
crxConnectionProperty = crxTable.ConnectionProperties("Data Source") = crxDataBasePath
..
CRAXDRT.ConnectionPropertiesClass.getItem(String Name) "Error: Invalid Index"
*********
and also please you may double check my code..
here it is..
***************************
Public crxApp As CRAXDRT.Application
Public crxReport As CRAXDRT.Report
Public crxDataBase As CRAXDRT.Database
Public crxTable As CRAXDRT.DatabaseTable
Public crxTables As CRAXDRT.DatabaseTables
Public crxConnectionProperty As CRAXDRT.ConnectionProperty
Public strSelectionfrm As String
Public strCRSourcePath As String
<br />
Private Sub frmCrystalReport_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />
Try<br />
ChildFormAutoSizeFit(Me)<br />
Me.Cursor = Cursors.WaitCursor<br />
Me.MdiParent = frmMain<br />
<br />
crxApp = New CRAXDRT.Application<br />
<br />
crxReport = crxApp.OpenReport(strCRSourcePath, CrystalDecisions.Shared.OpenReportMethod.OpenReportByDefault)<br />
<br />
crxTables = crxReport.Database.Tables<br />
<br />
For Each crxTable In crxReport.Database.Tables<br />
crxConnectionProperty = crxTable.ConnectionProperties("Data Source") = crxDataBasePath<br />
crxConnectionProperty = crxTable.ConnectionProperties("Initial Catalog") = "dbEmployee.mdb"<br />
crxConnectionProperty = crxTable.ConnectionProperties("User ID") = "myUserIDxxxxxx"<br />
crxConnectionProperty = crxTable.ConnectionProperties("Password") = "myPasswordxxxxx"<br />
Next crxTable<br />
<br />
crxReport.Database.Verify()<br />
<br />
crxReport.RecordSelectionFormula = strSelectionfrm<br />
<br />
AxCRViewer1.ReportSource = crxReport<br />
AxCRViewer1.ViewReport()<br />
<br />
crxDataBase = Nothing<br />
crxTable = Nothing<br />
crxTables = Nothing<br />
crxReport = Nothing<br />
crxApp = Nothing<br />
<br />
Catch ex As Exception<br />
MsgBox(ex.ToString())<br />
Finally<br />
Me.Cursor = Cursors.Default<br />
End Try<br />
End Sub<br />
***********
im so confused... please help...
|
|
|
|
|
Are you sure the "Data Source" property isn't expecting the full path AND filename of your database?
eg: crxConnectionProperty = crxTable.ConnectionProperties("Data Source") = "c:\databasepath\filename.mdb"
??
-------------------------------------------
Don't walk in front of me, I may not follow;
Don't walk behind me, I may not lead;
Just bugger off and leave me alone!!
|
|
|
|
|
Are you sure the "Data Source" property isn't expecting the full path AND filename of your database?
eg: crxConnectionProperty = crxTable.ConnectionProperties("Data Source") = "c:\databasepath\filename.mdb"
*********************
actually, not really...
i just made so many experimentation also base on other post from the internet..
i've also try this code
**************************
<br />
<br />
Public crxApp As CRAXDRT.Application<br />
Public crxReport As CRAXDRT.Report<br />
Public crxDataBase As CRAXDRT.Database<br />
Public crxTable As CRAXDRT.DatabaseTable<br />
Public crxTables As CRAXDRT.DatabaseTables<br />
Public crxConnectionProperty As CRAXDRT.ConnectionProperty<br />
<br />
Private Sub frmCrystalReport_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />
Try<br />
<br />
crxApp = New CRAXDRT.Application<br />
<br />
crxReport = crxApp.OpenReport(strCRSourcePath, CrystalDecisions.Shared.OpenReportMethod.OpenReportByDefault)<br />
<br />
For Each crxTable In crxReport.Database.Tables<br />
<br />
'STILL ERROR OCCURED HERE "Invalid Index" also to following crxTable.ConnectionProperties.Item<br />
<br />
crxConnectionProperty = crxTable.ConnectionProperties.Item("Data Source")<br />
crxConnectionProperty.Value = "D:\Folder1\Folder2\DatabseFolder"<br />
crxConnectionProperty = crxTable.ConnectionProperties.Item("Initial Catalog")<br />
crxConnectionProperty.Value = "myDataBase.mdb"<br />
crxConnectionProperty = crxTable.ConnectionProperties.Item("User ID")<br />
crxConnectionProperty.Value = "xxxxxxxxx"<br />
crxConnectionProperty = crxTable.ConnectionProperties.Item("Password")<br />
crxConnectionProperty.Value = "xxxxxxxxx"<br />
<br />
Next crxTable<br />
<br />
crxReport.Database.Verify()<br />
<br />
crxReport.SQLQueryString = strSelectionfrm<br />
<br />
AxCRViewer1.ReportSource = crxReport<br />
AxCRViewer1.ViewReport()<br />
<br />
crxDataBase = Nothing<br />
crxTable = Nothing<br />
crxTables = Nothing<br />
crxReport = Nothing<br />
crxApp = Nothing<br />
<br />
Catch ex As Exception<br />
MsgBox(ex.ToString())<br />
Finally<br />
Me.Cursor = Cursors.Default<br />
End Try<br />
End Sub<br />
<br />
*******************************
and still??? the same error...
and i've also try this code and still the same error..
*******************************
<br />
crxConnectionProperty = crxTable.ConnectionProperties.Item("Data Source")<br />
crxConnectionProperty.Value = "D:\Folder1\Folder2\DatabseFolder\myDatabase.mdb<br />
or neither like this... still the same error...
<br />
crxConnectionProperty = crxTable.ConnectionProperties.Item("Data Source")<br />
crxConnectionProperty.Value = "D:\Folder1\Folder2\DatabseFolder"<br />
**************
this VS VB2005 and CR XI R2 is freaking me out and im very frustrated....
please help... anybody... please...
thank you so much again to those who are formerly participating with this topic... thanks guys... a lot of appreciation to all of you...
|
|
|
|
|
This may be really stupid but try changing "User ID" to "UserID". I don't think it is the problem but I once ran up against something similar.
If that does not work the change the string to an integer, you will probably need to verify the ordinal. There may be an enum somewhere!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Yah.. i've also try that myself in any way i can come up to solve that frustating code.. and experiment in many ways and also i tried to search other codes related to this and i find out they used the same crxTable.ConnectionProperties("Data Source") but then in vb6 code..
i think the code is something closely right but ther something missing or lacking in my code in that part.. i dont know what it is...
im referring also to other forums but this site is the only one replying on my post... so hard...
|
|
|
|
|
vbDigger'z wrote: crxConnectionProperty = crxTable.ConnectionProperties("Data Source") = crxDataBasePath
Where is crxDataBasePath defined?
Moreover, I think that the right hand side of the assignment will be evaluated to a boolean (crxTable.ConnectionProperties("Data Source") = crxDataBasePath) and this boolean will be assigned to crxConnectionProperty.
|
|
|
|
|
<br />
crxConnectionProperty = crxTable.ConnectionProperties("Data Source") = crxDataBasePath<br />
Where is crxDataBasePath defined?
Moreover, I think that the right hand side of the assignment will be evaluated to a boolean (crxTable.ConnectionProperties("Data Source") = crxDataBasePath) and this boolean will be assigned to crxConnectionProperty.
************
crxDataBasePath is defined from a vb module from the same vbproject and it is declare to be "public" so my other vbfiles or vbform can access it readily inside the project..
<br />
public crxDataBasePath as string = "D:\folder1\folder2\Database"<br />
i've also try to used this direct code:
<br />
crxConnectionProperty = crxTable.ConnectionProperties("Data Source") = "D:\folder1\folder2\Database"<br />
for me to test it... but still the same error...
CRAXDRT.ConnectionPropertiesClass.getItem(String Name) "Error: Invalid Index"
************************
<br />
<br />
For Each crxTable In crxReport.Database.Tables<br />
crxConnectionProperty = crxTable.ConnectionProperties("Data Source") = crxDataBasePath<br />
crxConnectionProperty = crxTable.ConnectionProperties("Initial Catalog") = "dbEmployee.mdb"<br />
crxConnectionProperty = crxTable.ConnectionProperties("User ID") = "myUserID"<br />
crxConnectionProperty = crxTable.ConnectionProperties("Password") = "myPassword"<br />
Next crxTable<br />
<br />
**************
May be i try also "ChandraRam" suggestion.. thanks for everyone's participation and help..i really appreciation your help.. and please if anybody who can share their good idea there... please help... cause this CR reporting is not that so easy to figure it out specially to a bigenner like me.. thanks again in advance... God speed..
|
|
|
|
|
Your are still using assignments like
crxConnectionProperty = crxTable.ConnectionProperties("Data Source") = crxDataBasePath
This is similar to saying:
x = y = 5
The result stored in x will be either true or false, depending upon whether value of y is 5.
I hope I have clarified this...
|
|
|
|
|
|
what an ashame...
I think, i know whats wrong with my vb project... its not on the code but the versioning of active x component
CRAXDRT.ConnectionPropertiesClass.getItem(String Name) "Error: Invalid Index"
i've found out that my crystal report viewer in my printing form is version 11.5.0.0 (AxInterop.CrystalActiveXReportViewerLib11_5.dll) and i've import or add it from the project components from a specific folder of my project which i downloaded from the intenet before..
which has the functionalities of CRAXDRT.REPORT.SQLQUERYSTRING and CRAXDRT.REPORT.RECORDSELECTIONFORMULA
and my installed crystal report developer XI R2 is using crystal report viewer 11.5.3700.0 which has only the functionality of CRAXDRT.REPORT.SELECTIONFORMULA
so it means my project will use or refer to crystal report library of version 11.5.3700.0, because that is the only crystal report installed in my pc...
that's why whenever i've sqlquerystring it gives the error
CRAXDRT.ConnectionPropertiesClass.getItem(String Name) "Error: Invalid Index"
because this can not find the functionality of SQLQueryString from CRAXDRT.Report v11.5.3700.0
but the there's something makes me puzzle? why does SQLQueryString from crystalreportviewer v11.5.3700.0 is missing? it is much higher version and must supposed to be stay there?
this is crystalreportviewer11.5.3700.0 and it works using CRViewer11_5_37.selectionformula but when i type CRViewer11_5_37.SQLQueryString? there is no such .SQLQueryString and i can only find it at xraxdrt.report.SQLQueryString?
******************
<br />
Imports CrystalDecisions.CrystalReports.Engine<br />
Imports CrystalDecisions.Shared<br />
<br />
Public Class frmCrystalReport<br />
<br />
Public strSelectionfrm As String<br />
<br />
Private Sub SetDBLogonForReport(ByVal myConnectionInfo As ConnectionInfo)<br />
Try<br />
Dim myTableLogOnInfos As TableLogOnInfos = Me.AxCRViewer1.LogOnInfo<br />
For Each myTableLogOnInfo As TableLogOnInfo In myTableLogOnInfos<br />
myTableLogOnInfo.ConnectionInfo = myConnectionInfo<br />
Next<br />
Catch ex As Exception<br />
MsgBox(ex.ToString())<br />
End Try<br />
End Sub<br />
<br />
Private Sub ConfigureCrystalReports()<br />
Try<br />
Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo()<br />
myConnectionInfo.DatabaseName = DataSource<br />
myConnectionInfo.UserID = "admin"<br />
myConnectionInfo.Password = "xxxxx"<br />
myConnectionInfo.ServerName = "xxx.mdb"<br />
<br />
'Your filter formula comes here<br />
CRViewer11_5_37.SelectionFormula = strSelectionfrm <br />
<br />
'Your the complete path and filename of your .rpt<br />
CRViewer11_5_37.ReportSource = strCReportSource<br />
<br />
' Or like this <br />
CRViewer11_5_37.ReportSource = "D:\folder1\report.rpt"<br />
<br />
SetDBLogonForReport(myConnectionInfo)<br />
CRViewer11_5_37.Show()<br />
<br />
Catch ex As Exception<br />
MsgBox(ex.ToString())<br />
End Try<br />
End Sub<br />
<br />
Private Sub frmCrystalReport_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />
Me.MdiParent = frmMain<br />
ConfigureCrystalReports()<br />
End Sub<br />
<br />
End Class<br />
********************
this is crystalreportviewer11.5.3700.0 and it works using crxReport.RecordSelectionFormula but when i use crxReport.SQLQueryString it gives me the error "Database connector error"
************************
<br />
Public crxApp As CRAXDRT.Application<br />
Public crxReport As CRAXDRT.Report<br />
Public crxDataBase As CRAXDRT.Database<br />
Public crxTable As CRAXDRT.DatabaseTable<br />
Public crxTables As CRAXDRT.DatabaseTables<br />
<br />
Public strSelectionfrm As String<br />
Public strCReportSource As String<br />
<br />
Private Sub frmCrystalReport_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />
Try<br />
<br />
crxApp = New CRAXDRT.Application<br />
<br />
crxReport = crxApp.OpenReport(strCRSource, 1)<br />
<br />
For Each crxTable In crxReport.Database.Tables<br />
crxTable.Location = DataSource 'My .mdb source path<br />
crxTable.SetLogOnInfo("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & crxDataBasePath, "xxxx.mdb", "admin", "xxxxxx")<br />
<br />
'crxReport.SQLQueryString = sqlQueryString<br />
<br />
crxReport.RecordSelectionFormula = strSelectionFormula<br />
<br />
AxCRViewer11_5_0.ReportSource = crxReport<br />
AxCRViewer11_5_0.ViewReport()<br />
<br />
crxDataBase = Nothing<br />
crxTable = Nothing<br />
crxTables = Nothing<br />
crxReport = Nothing<br />
crxApp = Nothing<br />
<br />
Catch ex As Exception<br />
MsgBox(ex.ToString())<br />
End Try<br />
End Sub<br />
************
and this one is im trying to figure it out..
"RAXDRT.ConnectionPropertiesClass.getItem(String Name) "Error: Invalid Index"
something this doesn't compatible with versioning of crystal report viewer? correct me if im wrong.. im just observing... note.. im just a biginner like others.. ehehe
<br />
crxConnectionProperty <br />
********
<br />
Private Sub frmCrystalReport_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />
Try<br />
ChildFormAutoSizeFit(Me)<br />
Me.Cursor = Cursors.WaitCursor<br />
Me.MdiParent = frmMain<br />
<br />
crxApp = New CRAXDRT.Application<br />
<br />
crxReport = crxApp.OpenReport(strCRSourcePath, 1)<br />
<br />
For Each crxTable In crxReport.Database.Tables<br />
<br />
crxConnectionProperty = crxTable.ConnectionProperties("Data Source")<br />
crxConnectionProperty.Value = "T:\System\Employee\Database"<br />
<br />
crxConnectionProperty.Value = "T:\System\Employee\Database"<br />
crxConnectionProperty = crxTable.ConnectionProperties.Item("Initial Catalog")<br />
crxConnectionProperty.Value = "mydatabase.mdb"<br />
crxConnectionProperty = crxTable.ConnectionProperties.Item("User ID")<br />
<br />
crxConnectionProperty.Value = "admin"<br />
crxConnectionProperty = crxTable.ConnectionProperties.Item("Password")<br />
crxConnectionProperty.Value = "xxxxx"<br />
<br />
Next crxTable<br />
<br />
crxReport.Database.Verify()<br />
<br />
<br />
crxReport.SQLQueryString = strSelectionfrm<br />
<br />
AxCRViewer11_5_0.ReportSource = crxReport<br />
AxCRViewer11_5_0.ViewReport()<br />
<br />
Catch ex As Exception<br />
MsgBox(ex.ToString())<br />
Finally<br />
Me.Cursor = Cursors.Default<br />
crxDataBase = Nothing<br />
crxTable = Nothing<br />
crxTables = Nothing<br />
crxReport = Nothing<br />
crxApp = Nothing<br />
End Try<br />
End Sub<br />
modified on Friday, April 18, 2008 1:03 AM
|
|
|
|
|
How to extract OLE Object from MS-Access Table using visual basic 6 ?
if you have any sample please refer.
also tell me is it possible to identify the OLE Object types (such as word,excel etc...)
|
|
|
|
|
This[^] is about the best anyone can do for you. It's going to take quite a bit of research to find the answer to this problem.
|
|
|
|
|
Hi Everyone -
I created an application that I've sent out to some friends which I thought was pretty flawless... apparently not. Two of the people were using the application for I would say about a week and no problems... then they got the message "Exception has been thrown by the target of an invocation".
I have it pinned down to the Timer that is causing the issue, because the error would pop-up every 30 seconds, and the timers interval is set to 30k ms, so I know that much. Under certain conditions the timer will open up a new instance of a form - which I'm guessing is where the exception is being thrown.
I haven't been able to come across this problem when I'm personally using the application in debug mode, so I don't know what to do.
Also, I was convinced this was a data driven issue, so I asked my friend to send me a copy of the database the application uses, hoping I could replicate the issue for myself - no such luck.
Any advice?
Thanks,
Tommy
|
|
|
|
|
You may receive this exception when you use the Invoke() method (of a form perhaps). The cause of this exception is another exception which occurred inside the method being invoked.
Since you don't know what actually went wrong inside the method that was being invoked, we will need to get the inner exception of the method.
To catch the exception, enclose the line within a try/catch block and get the InnerException.
Sometimes the error might also pop up when the solution file CPU references become corrupt. To check for it, try the following steps:
1: Open the .sln file in notepad
2: Change All References to"AnyCPU" (note the missing space) to "Any CPU"
3: Save
4: Open the solution again.
Regards,
Dave
Dave Traister
Software Engineer
ComponentOne LLC
www.ComponentOne.com
|
|
|
|
|
Probable cause may be that your secondary thread (from the time) is attempting to interact with the UI (open a form) this is not recommended. There are various articles in CP discussing these issues.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Can you point me to one of the articles? No luck finding one.
|
|
|
|
|
I'm developing a multi-lingual application and ultimately want to use satellite assemblies. The application differentiates between the different *.resx files (using a hub/spoke model) swimmingly but upon converting them to a *.dll I'm overcome with errors. The errors appear are the result of excluding the *.resx files and including the *.dlls in the application. Can anyone help me see the error in my ways? Thanks!
Code forth and prosper...
kIT
|
|
|
|
|
You may want to read this[^] section on Globalization and Localization and how the .NET Framework handles it. It sounds like you're trying to implement your own version of it.
|
|
|
|
|
hi
how can i now in the code wich tab is active
what is the function that tell me
i try focus but it do not give me good result
If TabPage1.Focus() Then
i hope you can help
|
|
|
|
|
Hello,
You can use the 'SelectedTab' or 'SelectedIndex' property for the Tab control to determine the
currently selected tab. You can use either of them. Only difference is that the SelectedIndex
will return the index of the tab page (0 being the starting tab). SelectedTab returns the page.
So you can use me.TabControl1.SelectedTab.Name.
So you can try something like this:
<br />
If Me.TabControl1.SelectedIndex = 0 Then<br />
MsgBox("Page1")<br />
Else<br />
MsgBox("Page2")<br />
End If<br />
I hope this will help.
Regards,
Allen
Allen Smith
Software Engineer
ComponentOne LLC
www.componentone.com
|
|
|
|
|
thanks it work
|
|
|
|