Show Properties based on Customer Preferences

  • 0
  • 2
  • Question
  • Updated 2 years ago
  • In Progress
I have a properties table which has number of bedrooms, price, country etc
I have a customers table with preferred Bedrooms, Price and Country etc.

How do I match up the properties that fit ALL criteria with the preferred fields in the Customer Table.
Photo of Mick Graham

Mick Graham

  • 330 Points 250 badge 2x thumb

Posted 2 years ago

  • 0
  • 2
Well, there are a variety of different ways to accomplish this, depending on the output you desire.

1. You could create a button on the customers table that would open a report of matching properties based on the customer preferences. (They would only be viewable when clicking the button)

2. You could go to the properties table and use dynamic filters or advanced search to create a similar report.

3. You could create a many to many table (customer properties) that would allow you to link all matching properties to a customer and from there track activity against each customer property. (this would allow you to see their list while looking at a customer record. You might want a button that would go find all the properties and create the child records automagically if you go with this way. 

Do any of these sound better than another? What is the specific output you are looking for?
I was looking to have an embedded report on the customer form that contains the properties that match the criteria in the customers preferences.

Bedrooms in properties >= customers preferences
Price in properties <= customers max price

Etc.. .
I don't think that it can be done with an embedded report. It will take a button push at least, although e results after the button push could be on the customer preferences record.
Photo of Mick Graham

Mick Graham

  • 330 Points 250 badge 2x thumb
This is what the report is looking for when I have Apartment & Townhouse in the Type field and its now not finding anything:

Beds is greater than or equal to '3' AND Price is less than or equal to '€700,000' AND State/Region is 'Alicante' AND (Type is 'Apartment ' OR Type is ' Townhouse ' OR Type is ' Villa' OR Type is '' OR Type is '' OR Type is '' OR Type is '' OR Type is '' )

This is the Formula:
URLRoot() & "db/" & [_DBID_PROPERTIES] & "?a=q&qid=18&nv=11\n&v0=" & ToText([Preferred Bedrooms]) & "\n&v1=" & ToText([Preferred Max Price])& "\n&v2=" & [Preferred Region]& "\n&v3=" & Part(ToText([Preferred Type]), 1, ";")& "\n&v4=" & Part(ToText([Preferred Type]), 2, ";")& "\n&v5=" & Part(ToText([Preferred Type]), 3, ";")& "\n&v6=" & Part(ToText([Preferred Type]), 4, ";")& "\n&v7=" & Part(ToText([Preferred Type]), 5, ";")& "\n&v8=" & Part(ToText([Preferred Type]), 6, ";")& "\n&v9=" & Part(ToText([Preferred Type]), 7, ";")& "\n&v10=" & Part(ToText([Preferred Type]), 8, ";")
I see now that when we parse out the pieces of the multi select field, the part function will have added some extra spaces.

So we will need to trim them out.

So where is says 
Part(ToText([Preferred Type]), 3, ";")

 you will need to have 
Trim(Part(ToText([Preferred Type]), 3, ";"))
Photo of Mick Graham

Mick Graham

  • 330 Points 250 badge 2x thumb
Ho Ho!!!
Thats a great trick to keep up the sleeve LOL!
Marvellous Mark!
That is great that its working.  Thx for letting us know.

If you would like help with the correct / not low tech way of actually solving this the way you've described, contact me via the info in my profile. I'll see if I can send you an example solution in a bit.
Photo of Neal


  • 70 Points

I have created prototype screenshots.

Following is for Customer Preferences - each record has link to show properties based upon preferences and clicking the link should show properties as per preferences.

Following is the list of properties.

Following is the list of properties that would be shown to  customer1.

Following is the list of properties for customer2.

Following is the list of properties for customer3.

Please send me email to nealpatil @ if you are interested then I can build prototype.

This looks like it would do the trick
Hi Mick,

Here is a video showing a prototype of the solution I think you might be looking for: