Modules & VBA :: Capturing And Change KeyCode For Input To Text Box
Sep 24, 2013
To facilitate input of special graphic characters such as the degree C and plus-and-minus symbols, I would like to use Alt-1 to Alt-9 key combinations, capture these keys in a KeyDown event procedure and change the keystroke to the desired graphical character code. I am using Access 2010 on Win7.
I first attempted to change the Shift integer to zero to reset the Alt-bit and set KeyCode to the desired character code, but this does not work. Hence I try to use the second common method of setting KeyCode to zero and use SendKeys to VBA-input the desired graphic character. However, strange things happens.
The test code is as follows:
Code:
Private Sub TestTB_KeyDown(KeyCode As Integer, Shift As Integer)
Dim i As Long
If (Shift And acAltMask) <> 0 And KeyCode <> 18 Then
' For i = 1 To 20000000 this For-loop is initially commented out
' Next i
[code]....
The above code as it is works OK and the '#' is successfully inputted to the TextBox field.However, if I comment out the MsgBox statement, the program waits for about 0.3 second and then instantly fills up the entire TextBox field by a large number of '#' characters.
If I move the MsgBox statement to after the SendKeys, no '#' character is inputted to the TextBox.If I comment out the MsgBox statement and activate the For loop at the looping count amount (but not much less), the program works fine.
I have a report which asks for the beginning date and ending date which they want. The report is generated using this information. I want to put the information entered in the parameter request into the heading of the report. How do I recover this information to put it in.
I have a textbox where I need an afterupdate event, which should check that input is 3 letters followed by 3 numbers. The total is 6 characters, but always 3 letters + 3 numbers. If condition not met, a msgbox will be shown, for the user to input correctly, before being able to continue.
I trying trying capture the ID no. of a record for future use. I have tried different combinations on different form events. Nothing works, what am I doing wrong? The latest I have tried is the following, on the load event,
Code: Private Sub Form_Load() Dim LoadNo As String DoCmd.GoToControl "ID" LoadNo = Me.ID txtLoadNo = LoadNo End Sub
So, I'm very new to Access and not all that skilled in VBA. I have, through trolling the internet found some code that does allow me to send an email on the click of a button on a form through Lotus Notes.
However, I cannot get any of the data on the form to show up in the email.
How do I even do something simple like, have the subject line come from a text box on the form or have the body come from a text box (or 2)?
Here is the code I have so far - also, the "attachment" part does not work - but one problem at a time...
---- Public Sub Command15_Click() '------------------------------------------------------------------------------- ' Date: 02-06-2003 ' ' Sends an email via Lotus Notes. '------------------------------------------------------------------------------- 'Set up the objects required for Automation into lotus notes Dim Maildb As Object 'The mail database Dim UserName As String 'The current users notes name Dim MailDbName As String 'THe current users notes mail database name Dim MailDoc As Object 'The mail document itself
[Code] ....
Again, I literally just have this as an event on "On Click" for the button. Nothing too fancy. It sends an email....with whatever text I manually put in to this code....which is not ideal....
I have a form with a tab control and an option group (frame). When I built the layout of the contents of the first tab, the frame responded properly to click events. Now that I have copied them onto the tab control, the events seem to disappear.
(When I check the events for the controls, they are all still there, and selected by the Properties table).
I know it's probably one of the "doesn't use Access very much, does he" type of situations, so how to get these controls working again!
Here is the Form Code listing.
Option Compare Database Option Explicit Sub SetSourceDescription() If Me.frRunMode.Value = 0 Then Me.lblSourceType.Caption = "Source for this run will be the Extract .pst file(s)"
Currently I have an issue where on of the fields in a userForm will not update. I have tracked down the problem to an update Event procedure
Code: Private Sub txtRate_Change() Me.txtSales = Me.txtRate * Me.txtPages Me.txtGST = Me.txtSales * 0.1 Me.txtTotal_Inv = Me.txtSales + Me.txtGST End Sub
The idea being, when you update the rate, the Sales/Revenue figure will update based on that rate. For a while this seemed to work fine. but recently , it just will not allow me to update the field txtRate, I cannot understand why. I have now replaced the _Change() event for a _LostFocus() event. but I am not sure that is as reliable, and I am still puzzled / worried as to why the _Change event will not work.I'm on Access 2013, win 7 , using a front end db connected to the back end using linked tables.
I have a Dell keyboard at work and I am trying to find the keycode to the apostrophe/quotation key. I want to disable this when pushed with the ctrl key. I've searched online but could not find anything that shows that specific key. I only see apostrophe keys or quotation keys but not the combination of both which is what I have.
I have the following code which works perfectly BUT I want to be able to add another line of text if users enable a checkbox. I have tried everything I can think of but can't get it to work. When using an "IF check150" statement it just adds the extra text in regardless of selection or not.
Code:
Function Mail_Radio_Outlook6(activedoc As String) Dim OutApp As Object Dim OutMail As Object Dim strbody As String Dim acc_req As String Set OutApp = CreateObject("Outlook.Application")
[Code] ....
This is fine most of the time but If a user ticks check150 I want to add another paragraph.
Do I use an IF statement, if so in what format? is it a separate function etc?
I am slowly getting more familiar with Access but still come unstuck on the simplest of things at times.
I'm using Access 2010. I'm passing a string into the OpenArgs of my report - works fine. In the report there are 3 rich text fields which may contain the text I passed in, and if so I want to change the color of that text to red so it stands out.
The value passed to the report changes so I'll need to use VBA in the detail's format section to check each of the 3 rich text fields.
Had a combobox so the user could choose between two data entry formats.They don't want the combobox, they want the user to enter data into one or the other textbox - and that choice to trigger the format.Two groups of text box - group 1 has a single text box - group 2 has three text box. When the user selects a text box and types the first character into it. This triggers locking out the other group choice and enables the <Validate and Edit> command button.
If the user backs out (deletes) the text in a text box.It basically makes both groups available again and it disables the <Validate and Edit> command button.Basically, if the text box Change event counts a character, it changes the text box Tag to "Bust". Then it calls a common routine that checks both text boxes.The choice won't take place if the textbox gets focus. It changes if a text box has 1 or more character typed in.
Code: Sub WhosOnFirst() ' two groups of Required field - if one textbox in a group has a character entered first ' that group becomes the Format - enables the <Validate and Accept> button that will take the next setp
I have an on click event to mail a report which works. I want to change the text to include data from a table.
I changed the code to include the field 'office' from the table 'Checks' but get an error saying 'Object required'.
Code is : Private Sub cmd_mailreport_Click() Dim office As Object Set office = Checks.office DoCmd.SendObject acReport, "checks", "PDFFormat(*.pdf)", _ "info@company.com", "", "", office & " Daily Check - " & Date, "Attached is the report for the office", _ True, "" End Sub
I have a continuous form with a text field that says "Select". There are two other fields, one of which is Brand. When the Brand Combo box has nothing in it I want the text box to appear (instructing the user to select a Brand) But once the user selects a Brand and goes to the next records, I would like the "Select" in only that record to become not visible. I tried conditional formatting but can't apply that to an unbound control ( or at least it is grayed out when I select the text box) and any other possible solutions I have found changes all of the selects - not only the one in the changed record.
I have excel spreasheet that have dates on them. But the dates are formatted as general so they are really only numbers to Access when I link the spreadsheet to a table. I was hoping that I could create an input mask that would make Access recognize that the numer 20070912 is really September 12, 2007. I can't change the structure of the spreadsheet because the data comes from a data service. :mad: But maybe I can translate this number into a date in Access? Can you geniuses help me create either an input mask or some process besides using:
to change the number into a date? I was hoping that I could just create an input mask yyyymmdd and then Access would recognize it as a date, but it seems more complicated than this. I need to use the date() function for further analysis so it has to recognize the number as an actual date. Thanks for your help.:)
I have a query with the fields employee_name, shiftname, shiftdate and have set it up so that 2 input messages boxes popup allowing the user to input a shiftname (a,b,c) then a shiftdate. from this query i have created a form, but instead of having 2 message boxes popup on screen before the form is loaded is it possible to have 2 input fields on the form (one for shift date & one for shiftname) that allows the user to enter into these fileds whenever they wish provided the form is open and all the records bellow change matching the employee name with the corresponding shiftname & date?, any advice would be great.
I have a form in Access2000 with 5 text fields which get transferred to the table for each new record. Is there a way i can "LOCK" one field so that once the user has input that data it never changes until closed. I can already lock the field but once i create a new record the field then goes blank.
I have a Form Display Data in my Access Database, which is working really well. However, users was asking if there is a way we can make Font Color Could/would change if The text in A field or Any field in my display form contained the word "SAD or MAD". Is there code for such thing in display form?..
Hi I have an text box with an input mask of >???????? to convert the text entered to capitals
1. Are there any other ways to convert to capitals? 2. With the way i have done the input mask if you click anywhere in the text box the curser starts from there. I would prefer it if no matter where in the text box you clicked the curser starts from the beginning How do i do this ?
Hello, all. I have created a project in Access 2003 to track a student's progess toward a college degree. I want the user to enter their student id in a text box on a form, look up if that user is present in the student table, and if not show the form to enter their student information.
I can't get the text box to accept user input, and return the student info as a single record on the form. I have a query but I don't know how to set the proprerties to run the query.
I am trying to produce a query that will search for multiple records by job id entered into a text box eg 17656,18768,15679.
The example i have found uses the (LIKE '*value*') so if i type in part of a job id (176) it will display all records starting with 176. I would like to enter specific job id numbers seperated by a , and only display these
I want numeric only input for a certain textbox. I can use a ISNUMERIC function to test this, but prefer to use the Keypress event. So far got the following:
Code:
Private Sub txt_Position_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 8 ' backspace Case Asc("1") To Asc("9") Case Asc("-") If InStr(1, Me.txt_Position.Text, "-") > 0 Or Me.txt_Position.SelStart > 0 Then
[code]...
It is working alright, except I want to avoid input that has multiple leading zeros, such as 00000 or -00000 (i.e. minus sign with mulitple leading zeros).
I have a table with a field named 'Comments'. On the form, I would like to have a text input and a command button. After the user enter the comments onto the textbox and subsequently click on the command button, the comments will be input onto the 'Comments' field of the table.
Q1. How can the text box be link to the 'Comments' field of the table? Q2. Only after I press the command button then the input text on the text box will be transfer to the table. What is the command for that?
Hi, I've read a few posts regarding removing the facility of the F11, open Db window, but is there a way to capture if someone presses F11? I have a few people (users) who think they know a thing or two about Access and I'd like to know if/ when they're accessing the Db window.
I was hoping for the ASCI code or similar for the F11 key!? Thanks Matt
Good day... beginner Access user (converting from Lotus Approach) and need some help please. Please excuse my novice... I'm on a deadline at work and need help:
-- Data source: MS Excel Table
-- Database form: MS Access 2003
My form is using the excel table as its data source. There are two fields: TELEPHONE AND FAX
When I try to use the input mask in Access to view the numbers in TELEPHONE FORMAT, it keeps telling me the input mask works only on text or date fields. Do I have to first modify the field format in excel? What does this error mean?