Solved

Showing Controls within a function

Posted on 2013-01-20
9
281 Views
Last Modified: 2013-01-20
Okay folks ... this is probably fairly simple and basic!

1. In my VBA is have a "STOP"
2. When the code stops I print the control "email" in the immediate window.
E.g. ?Window

3. The immediate window then displays "Joeb@gmail.com"

4. I then press F8 which takes me into a FUNCTION (i.e. the next line of VBA)

5. However, when I am in the function I , once again, try to print the "email".  (i.e. I repeat point 2 above).

6. In this case the email does NOT display !!

7. QUESTION: How can I display my email within the called function.
0
Comment
Question by:Patrick O'Dea
  • 3
  • 2
  • 2
  • +1
9 Comments
 
LVL 77

Assisted Solution

by:peter57r
peter57r earned 200 total points
ID: 38798530
How are you halting the code within the function?


You can use a statement like..

Debug.print something

to print any value into the immediate window.
0
 

Author Comment

by:Patrick O'Dea
ID: 38798541
I am halting code with a stop command.

Is there any reason that I should not be able to print a control value within a function?

(I could be making a fundamental error here!)
0
 
LVL 77

Expert Comment

by:peter57r
ID: 38798542
Please post the exact statement you are using to display the value.
0
 
LVL 84

Accepted Solution

by:
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 300 total points
ID: 38798616
I print the control "email" in the immediate window
I'd assume because "email" is on the FORM, and your Function cannot reference that Form.

If the form is open, you could do this:

?forms("YourformName").email

You could also use that syntax to reference the value in your function, if needed.
0
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

 

Author Comment

by:Patrick O'Dea
ID: 38798643
Yes, LSM that is the solution.

(altho' I don't really understand why my function cannot "see" the form??  but that's a discussion for a different day).

Now folks I am about to change the whole nature of the question!

See attached - very very simple database.

Note the variant called "AllFields"

I want a new function.
This function will display the actual value in each field in the array "AllFields".
So, for instance, the function will display the name "Tom".

The function will display the "OldValue" and the current value of the field.

Could someone give me guidance as to how I can displays these values.
Actually, what I really need is the few lines of VBA to show these values.
0
 
LVL 77

Expert Comment

by:peter57r
ID: 38798695
"Now folks I am about to change the whole nature of the question!"

Please post a new question.
0
 
LVL 31

Expert Comment

by:Helen_Feddema
ID: 38798732
Here is some code to display the values of bound controls (textboxes and combo boxes) in the current form record:

Private Sub cmdPrintValues_Click()

   Dim ctl As Access.Control
   
   For Each ctl In Me.Controls
      If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Then
         Debug.Print "Control name: " & ctl.Name & "; control value: " & ctl.Value
      End If
   Next ctl

End Sub

Open in new window

0
 
LVL 31

Expert Comment

by:Helen_Feddema
ID: 38798734
You could also make a procedure in a standard module with a frm argument, so you could call it for different forms.
0
 
LVL 84
ID: 38798745
I don't really understand why my function cannot "see" the form?
The function can "see" the form, but you must tell it where to look:

Forms("YourForm").YourControl
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Most if not all databases provide tools to filter data; even simple mail-merge programs might offer basic filtering capabilities. This is so important that, although Access has many built-in features to help the user in this task, developers often n…
Overview: This article:       (a) explains one principle method to cross-reference invoice items in Quickbooks®       (b) explores the reasons one might need to cross-reference invoice items       (c) provides a sample process for creating a M…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now