Added call details so all functionality should exist
1. Create customers
2. Create customer properties
3 log payment status (bad check, missed payment...)
2. create a call and assign a property / customer
3. assign an appointment to a call
4. add service information to an appointment
So you need another subform to show the services for that appointment. If you want all of that on the dashboard you can shrink things down to make room an add the "Services" subform. The tricks is to show and hide that subform only for calls with assigned appointments. If not that form is...
Surely not. It only prints the first character of any string
characterRequired; Variant. Character code specifying the character or string expression whose first character is used to build the return string. If character contains Null, Null is returned.
?string(10,"ABC")
AAAAAAAAAA...
So another example of a future feature that will be needed. Eventually your call list will get extremely large with old calls. That list will no longer be useable.
I can envision an option group at the top of the list to filter what you want to see.
Calls needing appointments
Calls with...
As pointed out that is pretty unusable. Mark's modified on the left used in a query and yours on the right.
SELECT
[Q] & ": " & GetRSPUnderscore ([a]) AS QandA,
[Q] & ": " & String (Len([a]), "_") AS Demo
FROM
Table1;
This is kind of my point. If you have a form that does one thing only, it is real easy to use solutions right out of the box and it will be useable and understandable. It becomes kind of a catch 22. As you add more complexity to the form you need more bells and whistles to make it...
I added to the function in case you have multiple word answers.
Public Function GetRSPUnderscore(Text As String, Optional Per_Char = 4) As String
Dim i As Integer
Dim tmp
For i = 1 To Len(Text)
If Mid(Text, i, 1) = " " Then
tmp = tmp & " "
Else...
I would assume you are calling this from a query so I would make Marks function Public and make the width a parameter.
Public Function GetRSPUnderscore(Text As String, Optional Per_Char = 4) As String
Dim i As Integer
Dim tmp
For i = 1 To Len(Text)
tmp = tmp & " " &...
Here are a couple fixes making it more intuitive
The selected row in the call log is gold making it clear which one you are looking at
The New call button is more prominent
I made the linking of the subforms easier by binding the recordsource of the main form to the same query as the call log...
Here is a working demo. This ban be a lot cleaner and add lots of bells and whistles but this is to demo trying to put all info and functions at your finger tips.
1. Need to create a new call. Pick a property (thus a customer).
2. Either create an appointment immediately or have a way to come...
Also I think in the table I call payment status, you need a field Resolved Date
If customer 1 is Past Due on 1/1/2026 and makes payment on 3/1/2026 you want to mark that as resolved. Now you have a history of late payments and how quickly they resolve the issue.
Also in the service call details...
So as it is set up you can use the customer table as your billing address, but you still have to add that address to the property table if you also dispatch to that property. If this just represents a mailing address then it does not have to be duplicated in the properties table. In the future...
See if this works. Seems a simpler interface
If provides a pop up date picker on dates and validates dates using a double click. Might need to add a note to do that.
If validates all other fields of form
single <.99, >.99 and I did >= and <=
int <99 or >99 and >=, <=
text is anything.
I do not think you will be able to do that. Only one can have the focus and thus only one can be in front of the value control. However I do not really see how this "assists" anything except for providing date fields with a date picker. If not it simply enforces rules. If I was doing this I...
I will ask it a different way. Which address information do you envision in the customer table and what goes in the separate property table.
If these types of addresses are not fundamentally different then I would put everything in the properties table.
For example if I am a property management...
In your business does the customer have multiple properties as well as a main property?
The way this is set up it would be like the customer is McDonalds and in the customer table you have a corporate address information for billing but you are going out and servicing individual McDonald...
Often novices try to do to much in one place where you are adding, editing, navigating main records and child records. It get hard to design and confusing. The Art is to be able to see some information but very easily get back and forth from the details. So it is a combination of summary...