Я довольно новичок в Access 2003, и у меня возникли некоторые проблемы с тем, что я считаю внутренним соединением. У меня есть две таблицы, которые я не могу редактировать, поэтому я запрашиваю их, и информация в одной из этих двух таблиц относится к профилям пользователей, а вторая - к вспомогательной информации, относящейся к ним, например к адресам электронной почты.
Моя проблема заключается в том, что мне нужно применить критерии к таблице 2 (вспомогательные), но иногда запись не существует, потому что не все таблицы 1 имеют совпадение в таблице 2. Поэтому я решил сохранить все поля таблицы 1 и соответствует только таблице 2, но из-за моих критериев для таблицы 2 я никогда не получу результат, если в таблице 2 не будет значений.
У меня есть поле в таблице 1, которое позволяет мне знать, будут ли значения в таблице 2, так что я хочу сделать что-то вроде
if table1val = "1" Then table2val Like "*01*"
. Пока что это не сработало, вероятно, из-за ошибки с моей стороны, поэтому мне было интересно, возможно ли это в режиме конструктора, потому что при его поиске кажется, что это возможно в представлении SQL, но мне не повезло пытаясь это из-за моего отсутствия знаний SQL.
edit: что у меня было, что работало
критерии для таблицы 2:
под примечанием_текст: Like "*help*" Or Like "*HELP*" Or Like "*Help*"
в коде категории: "Emails" Or "Email"
под high_priority_ind: Like "-1"
Все это работает, но ничего не вернет, если в поле отображается # Удалено
поле в таблице1 я хотел бы, чтобы эти критерии основывались на том, когда
prod_marker: Not Like "0"
Насколько я понимаю, у вас не может быть if в критерии, потому что, скажем, если вы ставите «1» в качестве критерия для таблицы 1, он действует как table1 = 1, и у вас не может быть table1 = if. Так есть ли лучший способ сделать это, потому что кажется, я не могу иметь
If(Not (prod_marker) Like "0") Then ((high_priority_ind) Like "-1")
Ниже приведен SQL-код, который мне удалось создать, который просто разрушает мой доступ (я не включал SELECT и FROM, потому что он длинный, и я не был уверен, нужно ли это):
WHERE (((dbo_client_link.link_id_txt)=[Enter Policy Number]) AND
((dbo_client_link.link_relationship_code)="O" Or
(dbo_client_link.link_relationship_code)="J") AND
((dbo_producer.aga_direct_ind) Like "0") Or
(((dbo_producer.aga_direct_ind) Like "-1" ) And
( (dbo_note.note_txt) Like "*help*" Or
(dbo_note.note_txt) Like "*HELP*") AND
((dbo_note.category_code)="Emails" Or
(dbo_note.category_code)="Email") AND
((dbo_note.high_priority_ind) Like -1)))