My title may not accurately express my question. If you can suggest a better way to do this, please feel free to elaborate.
Within Access, I have an "Invoice Number" table, with a single field containing a number. I have a function that accesses the table, increments the number and returns it to the invoice number field.
I need a way to perform this same function to the same table from within WORD.
When I click a button, I am creating a table for a mailmerge and then calling the document that merge is in so I can write letters.
Everything works properly except the line for calling a document. I've messed with it in several ways but right now it tells me I need an equal sign. Can someone who actually knows VB (I'm just pretending! ) look at this and tell me what might be wrong?
Shell("C:Program FilesMicrosoft OfficeOffice10WINWORD.EXE", "\documentsOfficesJudicial & Court ServicesJudicial CollegeShared Project FoldersTemplatesLetters & AccessoriesConf Letter Mail Merge.doc")
I am using a Access database with a frontend/backend design. I want to keep a table in the BE updated with the current list of users inside of the frontend. To do this I thought that I would just have the front end update a time field saying that that user is still inside of the FE. My question is two-fold - firstly, how can I run a function every minute or so to update this table.
A front end written in Access (back end mySQL). I have made a .mde file out of this front end. There are a number of MS Word documents used (as merge documents) for running reports and letters that are linked to queries in the database. However, I can only link these documents to the original .MDB file as you can't link to the queries ni the .mde file.
This works fine until you have a query that requires a parameter from a form. The user will have selected the parameter from the .mde version of the front end that they are using but the query which is being called from the .mdb version (by the Word merge document) can't see this parameter because it is a totally separate database.
How can I get around this problem?
Sorry this is a lengthy post, hope it makes sense.
I have created a module with a function that capitalizes the third letter in words that begin with "Mc". I have a table with the city field all uppercase letters. I created an update query that takes the field and correctly changes it. How you would go about tying this function to the textbox on the input form. So, if a user incorrectly enters "mccoy" in the City Field the function would be called and would automatically change it to "McCoy".
I haev a report with 15 sub reports. I have to use Visual Basic to format the sub reports. I know how to do the formatting (see below) but what I would like to do is have one function (Public) that I can pass the subReport name to and have the formatting happen. This would be mush easier to maintain than copying the code below into on_print events of all 15 sub reports.
Has anyone done this and have an example??
Thanks
-------------------------------------------------------------------------------------- Private Sub GroupHeader0_Print(Cancel As Integer, PrintCount As Integer) Dim widthOfBox, startLeftSide startLeftSide = 0.017 widthOfBox = 0.21 Me.ScaleMode = 1 Me.ForeColor = 0 'Repeat the following line of code for each vertical line ' 1*1440 represents 1 inch
' Me.Line (0 * 1440, 0)-(0 * 1440, 14400) 'Draws line at Left Margin Me.Line ((startLeftSide * 1440) + widthOfBox * 0 * 1440, 0)-((startLeftSide * 1440) + widthOfBox * 0 * 1440, 14400) 'Draws line at Left Margin Me.Line ((startLeftSide * 1440) + widthOfBox * 1 * 1440, 0)-((startLeftSide * 1440) + widthOfBox * 1 * 1440, 14400) ' Draws next line Me.Line ((startLeftSide * 1440) + widthOfBox * 2 * 1440, 0)-((startLeftSide * 1440) + widthOfBox * 2 * 1440, 14400) ' Draws next line Me.Line ((startLeftSide * 1440) + widthOfBox * 3 * 1440, 0)-((startLeftSide * 1440) + widthOfBox * 3 * 1440, 14400) ' Draws next line Me.Line ((startLeftSide * 1440) + widthOfBox * 4 * 1440, 0)-((startLeftSide * 1440) + widthOfBox * 4 * 1440, 14400) ' Draws next line 'the 14400 is an arbitrary number to increase the line to the max of a 'section. End Sub
Is there a way to call a function stored in a module in the back-end access file from within a form in the front-end access file?
I want to be able to slip in a change to the code, and not have to then copy the changed module out to every front end file.
I am thinking that this is something that is in fact trivial to do, but for the life of me, I am drawing a blank on how to do it. Or even what search terms to use to search the help files.
I have 28 combo boxes on a form, which I want to insert data into the table as they are changed. Each one will pass the same sets of data just with different parameters which come from the form.
Rather than putting the same code to insert on each of the 28 combo boxes I thought it would be easier to create a function to do it and pass the parameters to it through a sub on the AfterUPdate event of the combo box.
I need to pass 4 parameters, if I only put 1 in there it works fine, but when I start putting more in it doesnt work and I get compile errors or syntax errors.
Sub routine:
Code: Private Sub cboMonday1_AfterUpdate() If Me.cboMonday1 = 1 Then Me.cboMonday1.BackColor = vbGreen Me.cboMonday1.ForeColor = vbBlack
I have never tried passing variables while calling a function so I don't know what the heck I'm doing. I'll give a simplified example of what I'm trying to do. The second variable vRank is reporting properly but the first one vID gets "stuck" on whatever the first item in the listbox is.
Code: Dim vrt As Variant Dim upSQL As String For vrt = 0 To Me.List1.ListCount - 1 If Me.List1.Selected(vrt) = True Then Call ChangeUp(Me.List1.Column(0, vrt), Me.List1.Column(1, vrt))
I have a visual basic function, placed in a module. I need to call it from a form field, and pass a value to it and the function has to return a value.
I tried it but it doesn't work the value I get on the field is " #Name? "
I have the following function that I found online. Unfortunately I can't remember where I got it since I've had it for a little while. Today, when I tried to actually put it to use it didn't work.
I'm calling it from a form as follows: CompactDB (tblHotword)
tblHotword is just a random table from the back end. My understanding of the function was that it would use that table to connect and get the file name of the back end.
Whenever I run it, Access pops up a window that says "Object required" and nothing else. It doesn't look like a standard error message popup. When I click 'OK', Access continues with the rest of the code as if nothing went wrong. The function doesn't run though.
Code: Public Function CompactDB(TableName As String) As Boolean On Error GoTo Err_CompactDB Dim stFileName DoCmd.Hourglass True stFileName = db.TableDefs(TableName).Connect
Hi I need to count the number of words in each cell/field in my access database. Is there some standard function that does this thing or can i write some code to do it for me? thanks
Hi, I'm trying to compare 2 name fields to see if the last name of one field is found in the last name of the other field. In table A, the name is stored as LastName, FirstName. I've used the Left and InStr function to extract the last name successfully. In Table S the name is stored as separate fields, Lastname and Firstname.
In a query I am trying to determine if the last name from table A appears in the last name field in table S
(s.lname Not Like '*Left([a.name],InStr([a.name],",")-1)*')
the problem I think I'm encountering is that I want access to see this statement as:
(s.lname NOT LIKE '*JOHNSON*') instead of searching for the Left function string
is there any way to put the value of the function in there without actually searching the function literally?
I tried [ ] and that didn't work.. any ideas? thanks!
Can anyone tell me how on a macro to call another application. I am trying to open up a mainframe session so need to run something like c:mainframe.rsf???
I am having a heck of a time getting a Dell laptop with a WIRED connection to connect to an Access 2007 database.
After foolishly connecting to this database wirelessly, I took the wise advice of members here to never connect an Access database using a wireless connection due to Access' fragility.
But now, even when this laptop is wired to the network, it takes a VERY long time to reach the database. And lately, it fails to connect due to a network failure.
The database is hosted on a Windows Vista Home Premium OS. Two other XP SP2 machines can see and connect to the database perfectly. But this laptop (also Vista HP) cannot see/connect to the database.
I'm totally stumped! I have no idea as I'm not really sure about Vista. I know that Home Premium has much better network access than Home Basic, but this type of simple connection shouldn't be so burdensome.
Has anyone else had this problem? If not, can anyone suggest a route to take ?
I have quite a large select query that pulls in Date values from different tables. The end result is a list of records, where each record has 7 types of dates, put in columns A, B, C, D, E, F, G. What I need to do is, for each record to compare dates in those columns and put the LATEST one of them in the column MDATE.
I've tried using IIF function, but it grows exponentially with the number of values involved, and it can only handle 5 values before its cause error "too large". Alternatively I thought I could write a function to return the max date and call it from within the query, something along the lines of "select *, fnMaxDate(A, B, C, D, E, F, G) as MDATE from tblBLAH etc". The function is:
---------------------- Public Function fnMaxDate(a As Date, b As Date, c As Date, d As Date, e As Date, f As Date, g As Date) As Date
Dim Temp As Date Temp = Nz(a, "01/01/1901")
If Nz(b, "01/01/1901") > Temp Then Temp = b If Nz(c, "01/01/1901") > Temp Then Temp = c If Nz(d, "01/01/1901") > Temp Then Temp = d If Nz(e, "01/01/1901") > Temp Then Temp = e If Nz(f, "01/01/1901") > Temp Then Temp = f If Nz(g, "01/01/1901") > Temp Then Temp = g
fnMaxDate = Temp
End Function ----------------------
I've put a break at the start of the function, to see what it'll come up with but when running the query it didn't appear to call it. All values in MDATE where #error.
Can someone advise me, please, on the best way of picking the LATEST date? I'd also appreciate it if you tell me why the function didn't get called, as I was quite certain it is possible to call user defined functions from within the query.
I've written a function which opens the Outlook GAL dialog, allows users to select recipients and passes back a 2-D array (recipients and type i.e. To, CC or BCC).Here is the code :
Code: Public Function GetContactsFromOutlookGAL() As Variant Dim appOutlook As Object ' Outlook Application Dim objNameSpace As Object ' Outlook NameSpace Dim objSelectNamesDialog As Object ' Outlook Select Names Dialog
[code]...
The only problem I have is that when I 'display' the SelectNamesDialog, it doesn't make it the active window and bring it to the front - it just opens the dialog in Outlook and you have to navigate to the main Outlook window to find it.I'd like for the dialog to 'popup' - ideally, without the main Outlook window dragging along behind
I believe it's possible (judging from this article) to achieve this using API's - specifically, a combination of FindWindow (to retrieve the window handle) and ShowWindowLong (to set it to a topmost window in front of all other windows).
I created a help file in access that lets you have text mesasge up to 1024 chars. Just press F1 key on any control that you have setup to bring up help message.
Does any one see any problems with the way I did this?
Form Help File: = "" Help Context ID: = 0
For each control on the form where you would like to have a help message do the following. Form Control Help Context ID: = Set to one of the help index numbers in the help table.
Add KeyDown Event to the control
Private Sub Text0_KeyDown(KeyCode As Integer, Shift As Integer) 'Add this line KeyCode = DisplayHelp(KeyCode, Me.ActiveControl.HelpContextId) End Sub
module
Function DisplayHelp(KeyCode As Integer, HelpContextId As Integer) As Integer Dim dbs As DAO.Database Dim rstRecords As DAO.Recordset
If KeyCode = VBKeyF1 Then ' 112 = F1 Set dbs = CurrentDb Set rstRecords = dbs.OpenRecordset("SELECT tlbHelp.Index, tlbHelp.HelpMessage " & _ "FROM tlbHelp WHERE (((tlbHelp.Index)=" & HelpContextId & "));")
With rstRecords If .RecordCount > 0 Then Call MsgBox(!HelpMessage, vbInformation, "Help") End If End With DisplayHelp = 0 ' Clear KeyCode rstRecords.Close Set dbs = Nothing Else DisplayHelp = KeyCode End If End Function
Create Table and Fields
Table Name: tlbHelp Field Name: Index as Number Field Name: HelpMessage as Memo Field Name: FieldName as Text Field Name: FormName as Text
How type in custom number and message for each help message.
I've been opening comma delimited files in Access, used an Excel function to re-save those files in .xls which Access readily understands, then opening said files and running a query on them to organize them. Now the file needs to go to Excel where it is entered into a worksheet with a certain heading.
Problem is when opening the .xls converted file in Excel, no macros show up. If I open a blank worksheet in Excel my macro shows up. I lowered the security settings to the most basic level in Excel. How do I make the macro show up in the file opened in Excel through the Access VBA, so I can run it?
I have a small issue where I do have names written in UPPER CASE, I would like to transform them in Capitalized (each word), I understand that I cannot use the same function as in excel (PROPER) but something like StrConv, but as I do have a ‘comma’ in between the names I have something like that
So Access was unable to manage the amount of content that I needed to produce in a single report. The reports contain 12 charts/graphs all of which I needed on separate pages (one chart per page). As such I could not create large enough charts in access to fit to each page, as Access limits the amount of space one can use in a report.
I downloaded Microsoft Reports Builder 3.0 and built my reports as needed and can generate them as desired at current. I'm wondering if there a way to call that RDL file I created to generate my reports from a form control button in Access?
I am a naive in access and really looking for some mentor to help me learn quickly
I am presently going through a book Call "Microsoft Access 2003 InsideOut" I dont have the cd so thus missing the sample databses discussedin the book.
If anyone can provide me with this data base then it would be a great help