I have a form that's in datasheet view
It has a subform also in datasheet view
The subform and parent form both have a column txtMyId
What I want to do is if Me.txtMyId <> Me.Parent.txtMyId then
Hide entire data row if possible
I tried testing with the following code and an extra unbound column to update
But it comes back with everything "Matches" which I KNOW isn't correct
Do I need some kind of "For Each?"
I can do that in .Net easily
If Me.txtMyId = Me.Parent.txtMyId Then
Me.txt2 = "Matches"
Else
Me.txt2 = "No Match"
End If
Microsoft AccessMicrosoft DevelopmentMicrosoft Applications
Last Comment
Jeffrey Coachman
8/22/2022 - Mon
Jeffrey Coachman
<What I want to do is if Me.txtMyId <> Me.Parent.txtMyId then
Hide entire data row if possible>
Why not just filter for this?:
Make the recordsource for the form:
SELECT....
FROM Yourtable
WHERE MyId <> Forms!YourForm!MyID
...or something similar
JeffCoachman
Larry Brister
ASKER
boag2000
This subform datasource is a view from SQL Server and set in the properties box.
I want to do this in VBA if at all possible...
The actual <> will look like this...
If Nz(Me.txtMyId,Me.Parent.txtMyId ) <> Me.Parent.txtMyId
...
This will allow nulls and whatever = the Parent
How do I set this in VBA when the datasource is a straight properties view?
Jeffrey Coachman
With the addition of the NZ(), it is still not clear what you need here, ...
If the Recordsource is set, and cannot be changed, ...you can set the Filter Property of the subform:
MyID<>Forms![frmParent]![MyID]
(and probably set the FilterOnLoad Property to: Yes)
I mean, you can filter dynamically with VBA, but I don't a reason to go through all the extra work, if you can just filter.
Can you post a simple sample of this database?, it is confusing that you seem to want to filter on your "Linking" field.
Sample database notes:
1. Back up your database(s).
2. Combine the front and back ends into one database file.
3. Remove any startup options, unless they are relevant to the issue.
4. Remove any records unless they are relevant to the issue.
5. Delete any objects that do not relate directly to the issue.
6. Remove any references to any "linked" files (files outside of the database, Images, OLE Files, ...etc)
7. Remove any references to any third party Active-x Controls (unless they are relevant to the issue)
8. Remove, obfuscate, encrypt, or otherwise disguise, any sensitive data.
9. Unhide any hidden database objects
10. Compile the code. (From the VBA code window, click: Debug-->Compile)
11. Run the compact/Repair utility.
12. Remove any Passwords and/or security.
13. If a form is involved in the issue, set the Modal and Popup properties to: No
(Again, unless these properties are associated with the issue)
14. Post the explicit steps to replicate the issue.
15. Test the database before posting.
In other words, ...post a database that we can easily open and immediately see and/or troubleshoot the issue.
And if applicable, also include a clear graphical representation of the *Exact* results you are expecting, based on the sample data.
Hide entire data row if possible>
Why not just filter for this?:
Make the recordsource for the form:
SELECT....
FROM Yourtable
WHERE MyId <> Forms!YourForm!MyID
...or something similar
JeffCoachman