Link to home
Start Free TrialLog in
Avatar of Goels
Goels

asked on

An MS Access form issue

Hi all,

I have a form in Access which has 3 combo boxes representing the entities accountname, date and report type respectively. The value in these comboboxes is coming from 3 separate tables which are 2 column tables: one for say account name and one for the primary key.
Now according to the chosen combination in the form what happens is that on pressing a command button 'pdf display' a pdf file opens up which is named as 'accountname' + 'reporttype' + 'date'. For eg:
If the user choses Microsoft and Report1 and 10/04/2004 then the report which opens up is named microsoftreport110/04/2004.pdf.

Now  i was trying to get this functionality in VBA code (given below). What happens but is that instead of the value stored in cboaccountname, which is the accountname the user has chosen in the combo box, the text cboaccountname itself gets transferred. I tried giving it as &cboaccountname& but of no use. The same is the case with report type and date.
Any ideas !

Private Sub cmddri_Click()

Dim pdflink As String

If IsNull(Cboaccountnamei) Or Cboaccountnamei = "" Then
        MsgBox "Select Account Name"
        Cboaccountnamei.SetFocus
    ElseIf IsNull(cboreporttypei) Or cboreporttypei = "" Then
        MsgBox "Select Report Type"
        Cboaccountnamei.SetFocus
    ElseIf IsNull(cbodatesi) Or cbodatesi = "" Then
        MsgBox "Select Date"
        Cboaccountnamei.SetFocus
       
    Else

pdflink = "\\lvamfs01\shared\axysreportscreation\" + Cboaccountname.Value + cboreporttype.value + cbodate.value + ".pdf "

Debug.Print pdflink

FollowHyperlink pdflink, , True

End If

End Sub

Cheers
Goels
Avatar of Arthur_Wood
Arthur_Wood
Flag of United States of America image

can you set a Breakpoint on the  line

If IsNull(Cboaccountnamei) Or Cboaccountnamei = "" Then


and then single step (debug mode - press the F8 key) through the code, to see what is actually being passed?

AW
Try using Cboaccountname.Text instead of Cboaccountname.Value.

--Lance--
Avatar of Goels
Goels

ASKER

Hi All,

I tried using cboaccountname.Text but i get an error sayin that 'You can't reference a property or method for a control unless the control has the focus'.
Using cboaccountname.Value what happens is that instead of the value withing cboaccountname i.e say Microsoft getting passed the position of this record in the table i.e say if it is record no. 2, 2 gets passed.

Chow
Goels
Avatar of Goels

ASKER

Hi all,

I have solved the issue of  cboaccountname.Value not showing the requisite value. What happens is that by defult it takes the value in column 0 which is the primary key value. So we have to give the statement as :

…..+ cboaccountname.Column(1)+…

Now it will pass the account name which the user has selected.

The issue that remains is when now I click on the ‘display report’ button  an MS Office pop-up box opens which says ‘Are you sure you want to open the file. It might have virus etc..so on’. Now if I click the ‘OK’ button on this pop-up box everything is fine and the report opens. But if I click on the ‘Cancel’ button I get an error saying:

Run-time error ‘16388’

The hyperlink cannot be followed to the destination.

What I am not able to get is where does this pop-up box come from when I have not included it in my code. Also if it is an embedded property of ‘Follow.Hyperlink ‘ how can I then stop the error box opening using VBA when I click on ‘Cancel’ button on the MS Office pop-up box.

Cheers
Goels
Avatar of Goels

ASKER

Hi all,

I have acheived the requisite using:

On Error GoTo Err_Close_Button_i_Click

.
.
.

Err_PDF_Display:
If Err.Number = 16388 Then
Resume Next

Chow
Goels
ASKER CERTIFIED SOLUTION
Avatar of modulo
modulo

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial