我的概念是:有三列与明确的等级相关。我希望我们的用户能够以他们喜欢的顺序输入组合框,并将其他两个组合框中提取的信息反馈给它。
示例:跟踪器中的Country / State / (County/Region/District/City)
;带有源信息的sql引用表将是Country_Name, State_Name, County_Name
如果有人投入维也纳"进入郡,人们可以选择佐治亚州,密苏里州等州,美国和奥地利作为国家的选择(我不知道奥地利更大的省级结构将他们添加到州领域 - 这意味着一个类似的例子。)
如果要放入"弗吉尼亚"在州一,将美国作为国家的选择,各县作为县的选择。
输入国家/地区的层次结构相对正常,因为这是自然向下钻取。
我知道如何进行级联(单向)组合框。问题在于无法在控制源中使用嵌套的Iif,或者无法通过_AfterUpdate
情况临时修改控制源 - 请原谅伪代码:
Private Sub State_AfterUpdate()
If Country = "" And County = "" Then
Me.Country.ControlSource = "SELECT Country_Name FROM Natl_Structure WHERE State_Name = " & Forms![Postal]![State]
Me.County.ControlSource = "Select County_Name FROM Natl_Structure WHERE State_Name = " & Forms![Postal]![State] & ";"
Elseif Country <> "" And County = "" Then
Me.County ControlSource = "Select County_Name FROM Natl_Structure WHERE (State_Name = " & Forms![Postal]![State]) AND (Country_Name = " & Forms![Postal]![Country] & ";"
...并将其翻转为相反的情况。并设置与第一种情况相反的情况,如果两者都已设置(不是在那时需要,而只是考虑所有情况)。然后将相同类型的度量应用于其他两个组合框。
任何和所有帮助将不胜感激。
答案 0 :(得分:0)
您必须在控制源中使用IIF来检查其他组合框中是否已有值。
LatLng locationLatLong = obtenirLeCentre(membres);
String location = locationLatLong.latitude+","+locationLatLong.longitude;
//radius_
String radius = ""+radius_;
//rankby_ is an attribute whose value is "distance"
//type
Set<String> uniqueElements = new HashSet<String>(listPreferences_);
listPreferences_.clear();
listPreferences_.addAll(uniqueElements);
String type = "";
int taille = listPreferences_.size();
for(int i = 0 ; i < taille; i++){
if(i == taille - 1)
type += Converter.converter_.nameToPlaceType(listPreferences_.get(i));
else
type += Converter.converter_.nameToPlaceType(listPreferences_.get(i))+"|";
}
setupClient();
//2- get the answer from my http call
String reponseHttp = Converter.converter_.fromResponseToString(get().getJson(location,radius,rankBy,type,googleKey));