我正在为DVD租赁服务(作为学校作业)创建一个数据库,并且已经为这些电影类型提供了数据。从预先存在的Excel表导入不同类型的流派(以及其余数据)。类型如下所示:
这个问题是我需要将这些类型分开(即我不能在一个字段中使用Action / Adventure,它们必须分开)。这样做的目的是我可以根据他们的流派搜索DVD,并且可能会出现不同类型的DVD。
我尝试创建另一个与'类型相关的表格。字段并使用以下代码分隔数据:
Left$([genre],InStr(1,[genre],"/")-1)
这是为了找到其中一个类型并将其放入名为' genre1'的字段中。以下查找另一半数据并将其放在名为' genre2'的字段中:
Right$([genre],Len([genre])-InStr(1,[genre],"/"))
这确实有效,但它给了我一个#Func!
error。
有没有办法防止出现此错误,还可以根据其中一种类型搜索DVD(在表单中)?
答案 0 :(得分:2)
我目前无法看到您的屏幕截图,但是从我读到的内容: 您不应为每个流派组合添加字段。我的意思是:目前你最多有2种类型的组合,但如果一部电影有3种类型,你必须在你的桌子上添加第3个字段,这绝对不是一个好习惯。
您只需在类型与电影表之间建立链接表。
您的流派表格不应包含任何组合。组合应来自您的链接表:
T_FILM (int [ID], txt [name] ...)
T_GENRE(int [ID], txt [genre])
T_FILM_GENRE(int [fk_ID_FILM], int [fk_ID_GENRE])
对于您的错误,可能是由于InStr(1,[genre],"/")-1
在没有" /"时返回-1的事实。在字符串中,Left$
第二个参数不能取负值