Modules & VBA :: Simple If Statement Moved To Macro
Jul 29, 2015
I have an open form with buttons to open other forms and use an If statement to position them an example is below.
Code:
Private Sub Command31_Click()
DoCmd.OpenForm "Opener", acNormal
If Me.Frame54 = 1 Then
DoCmd.MoveSize 2500, 1000
ElseIf Me.Frame54 = 2 Then
DoCmd.MoveSize 25500, 1000
End If
End Sub
This works perfectly, however I need to put similar code as a line in a macro and cannot seem to link it.
Code:
Public Function totalmove()
If Forms.Scan_Data.Frame54 = 1 Then
DoCmd.MoveSize 2500, 1000
ElseIf Forms.Scan_Data.Frame54 = 2 Then
DoCmd.MoveSize 24000, 1000
End If
End Function
I get Error 438 object doesn't support this property or method...
I am trying to write a more complex macro that will start another macro at a preset time, however I am getting stopped at the first hurdle - getting a macro to run another macro.
Here is the code i am using at the moment, all I want to do currently is click the first button, then get the second macro to execute. But no luck, getting error 2157 "cannot find the procedure"
I have a form based on a table with three controls: txt1, txt2 and txt3. Txt is unbound, while the first two get their source from the table. I would like that if txt1 is showing data, then txt3 shows the same data of txt2. If this possible? I have tried something like this but does not work:
If IsNull(Me![txt1]) Then Me!txt3.Visible = True
If Me!txt1 = "*" Then Me!txt3 = Me!txt2 End If End If
Tasklist.RowSource = "SELECT [Tasks].Staff_Name, [Tasks].Project_Title, [Tasks].Percentage_Complete FROM [Tasks] WHERE [Tasks].Date_Allocated < aa ORDER BY [Tasks].Staff_Name;"
how can i make it look the the data i put in "aa" rather than prompt a msg box asking for "aa"?
Select Materials.ID, Materials.AvailableUnits, Substances.Name, Suppliers.CompanyName FROM Materials Right Join Substances on Materials.Substance = Substances.ID
This works in joining the substances.name (from substances table) with the value stored in materials.substance (which is ID of substances.ID)
How can I add another Join to join Suppliers.CompanyName with suppliers.ID. The current Materials.Supplier is a key of Suppliers.ID which holds the value of Suppliers.CompanyName. I've tried this a million times and as soon as I insert a second join, no matter what format I get "syntax error in join statement".
Okay, now I'm suspecting there's more to this than an overly complicated control source statement....
My summary report contains multiple objects that calculate totals based on a statement in their control source. The report ran fine for a few weeks but all of a sudden it started producing this error:
"The expression is typed incorrectly, or it is too complex to be evaluated. For example, a numeric expression may contain too many complicated elements. Try simplifying the expression by assigning parts of the expression to variables."
I thought perhaps that 12 lengthy control source statements were simply too much for Access to handle, but then I did some testing and eventually removed all but this control source statement: =Sum([NotifType]=9)
That's about as simple as it gets, but when I try and run the report I still get the error. Ggggrrrrrrrrr....
Can anyone tell me what causes this annoying error and how I can get rid of it? (I already compiled.) What little Access quirk am I running into? I will gladly zip the file and post if necessary.
I think this would be a simple query but I have not been successful in getting anything to work at this point. So I thought I would through it out to the pro's here! Thanks for any help you might give.
Table looks like this: EventID EventDate Score EventType 46 09/20/2007 72 1 Day Net 46 09/20/2007 72 2 Day Net - Day 1 46 09/20/2007 68 1 Day Best Ball 48 07/14/2007 69 1 Day Net 48 07/14/2007 34 Nassau
What I am trying to get from this data is the AVG score, but not include Nassau or Best Ball events. So I have used the Not Like "%Nassau%" etc, in ASP (since ASP requires % rather than * like access. The results I would like to see are one score from each DATE avg'd. That means with this sample data we should get... 46 09/20/2007 72 1 Day Net 48 07/14/2007 69 1 Day Net
Avg score 70.5
I don't care to have the Event Type listed, if that causes grouping issues. I just am not getting anything to work. Thanks for any help.
In short If I could get the avg score using only one score a day that is not a Nassau or Best Ball event, I would have to rejoice! Thanks so much.
I have just found out that my admin team have re-named all my folders so now teh folder that my DB was in is called a different name, so now my DB wont open as it says that it can't find teh file (as its still looking for teh origional folder name).
Is there an easy way around this? (I cant change the folder names)
I have a form that I use as a switchboard for a database. It automatically opens whenever I open the database and contains various buttons that allow me to import new data, run reports etc.
It has somehow moved a long, long, long, long (you get the idea!) way down the 'page' - i.e. the scrollbar to the right of access is enormously long with this form at the bottom and enything else I open at the top. This means that whenever I use the database any other forms, reports etc that I open are so far up the page that I cannot see them. The only way to reach them is to maximize everything. However, this makes it difficult/impossible if I need to, for example, see the design of two queries at the same time.
I have spent half an hour slowly moving the form up the page manually, but I don't seem to getting anywhere. Is there anyway to return this form to the top of the access page?
Is there anyway to stop the user from beng able to move a form. I.e. as in change its position on screen.
I am aware that you can do this by setting the border type to "none". However, I want my form to have a title bar along the top, so I cant use this method.
Is there another way to do this?
Thanks in advance.
EDIT: Ive found some information on the "movable" property, but I am using access 2000 and cant get it to work.
Suddenly my database started to act wierd. Look at the attached image. I can't move the window containing all the forms and tables. And I need to point out that I didn't place it there myself...
How to move it? I tried everything I could come up with, i.e. remove the toolbars, changing size of tha window and the programs window, restarting, re-saving, etc.
I am new to using access and have customized a project management database for a friend's company. I need a way to auto relink the front end and back end databases when moved in the same folder. I am currently using Access 2013 and have already tried using the code on this site: [URL]...... Does this code not work for Access 2013 or am I adding it incorrectly.
I have had a client moving to a new server a couple of months ago.
They have a small access application that reads csv files and exports them into Sage format that can then be imported into their accounts program - it also reports the total invoiced (whatever is inside the data CSV file) and has a printer friendly report with all the invoices inside said data CSV file.
The issue I have is that since the little app was moved to the new server - it stopped working.
I think somewhere in the code / options there is place to state the working path for the app. I think the app is trying to read the input data file from the old shared folder and thus not working anymore.
I can post the code and a sample CSV file. Specially because I did find a place with the old path and changed it to the new file share and it still didn't work.
I am trying to use this query. It gives me correct results as query. However when I make chart with query on a report it doesn't show correct data and eventually stops making chart
SELECT qry.txtRC, Count(tbl.txtRC) AS CountOftxtRC FROM tblMain AS tbl, qryRC AS qry WHERE (((tbl.txtDepartment)=[Forms]![frmRC]![cboDepartment] Or [Forms]![frmRC]![cboDepartment] Is Null) AND ((tbl.txtZone)=[Forms]![frmRC]![cboZone] Or [Forms]![frmRC]![cboZone] Is Null) AND ((tbl.txtRC )=[qry].[atnRC ID]) AND ((tbl.date) Between [Forms]![frmRC]![startDate] And [Forms]![frmRC]![endDate])) GROUP BY qry.txtRC , tbl.txtRC HAVING (((Count(tbl.txtRC )) Is Not Null)) OR (((Count(tbl.txtRC )) Is Not Null)) ORDER BY Count(tbl.txtRC ) DESC;
how to get macro properties using vba? I've attempted something similar to the below to try and divine macro properties:
Code: Sub MacroDiscovery() Dim mcr As AccessObject Dim prop As AccessObjectProperty For Each mcr In CurrentProject.AllMacros Debug.Print mcr.Name For Each prop In mcr.Properties Debug.Print prop.Name Debug.Print prop.Value Next Next End Sub
Nothing comes up except the macro names. In my database, I have an AutoExec macro that I have manually added a description to; "This macro auto-executes when the database is opened by virtue of it's name." I can view the description by right-clicking on the macro and choosing 'Object Properties'.
Background:I am attempting to make a universal Access Database documenter for the many, many homemade databases on our network. I'm only interested in certain pieces of information and I would like to make a report to view the information how I want to view it. Thus, I don't care for the built-in documenter--I want to do it my way.
I'm about to move to a back end / front end system, from a single database file. Before I do so, I want to make sure I have all bases covered so to speak.
My back end file will reside on a server. I am aware that path names are sometimes changed by network administrators without warning.
From tests, I notice that, if the path to the back end can't be found, one cannot open the front end database file at all (Access 2003).
My question is: if my back end file gets moved, or the path changed, how can I get into my front end file to update the linked tables.
I have inserted a function via a module at the beginning of a Macro using the RunCode action:
Function Msgbox_Yes_No() Dim Response As Integer Response = MsgBox(prompt:="Select 'Yes' or 'No'.", Buttons:=vbYesNo) If Response <> vbYes Then End If End Function
However, it doesnt stop the macro from continuing on its way to delete a load of records if the user chooses no.
I have 2 forms and a macro in Form1 which runs throught every record to update the records, however.I would like to run this macro from the main form (Form2)
I'm working in 2003 (still) and have a macro to print the selected form the user has on their screen. I need this same macro to also print a PDF in a particular network folder or just exit if the PDF doesn't exist. I've tried RunSQL with "PrintDoc [Link2PDF]" as the argument. I've tried RunApp with "Acro Rd32.exe /t [Link2PDF]" as the argument but neither one works. The RunApp line will open the Adobe reader but nothing more.
I would like to have a macro run at a set time each day. I hoped to use .ontime but apparently that doesn't exist in access.
The macro must run at 10:00am each day, the db will be open from 8:30am until 16:30pm so no problem from that point of view +/- a few mins when the staff arrive.
I have two tables in my Access database, their fields are exactly the same (for now). One table is called Uncheched. The other one is called Checked. So what is need is a macro that takes selected records in table Unchecked and copies them to the end of table Checked. Actually CUTS from Unchecked and PASTES to the end of Checked table.
Sub MoveRecords() DoCmd.RunCommand acCmdCut DoCmd.OpenTable "tblChecked", acNormal, acEdit DoCmd.GoToRecord , , acLast DoCmd.RunCommand acCmdPaste End Sub
I have a table it contains a list of opening and closing values along with a date and a couple control fields. What I would like to do is duplicate a few fields from records that meet a criteria onto the same table. After that is done there will be a few updates on the new records. Looking at it, it would be: 'duplicate' where field2 <> 0 and field5 = No and field6 = Yes. All other fields on the newly created records would be their default values.