|
|
|
Первичный ключ в связке MS SQL - Access
|
|||
|---|---|---|---|
|
#18+
Есть база в access-е где используются связанные таблицы из базы в MS SQL через ODBC. Все работает, но с увелечением размера баз стало подтормажывать и решил перейти на adp проект. И сразу сталкнулся с проблемой: В связи с тем что базы на SQL реплицируемые (сведением, тк некоторые работают дома) Ключевые поля были сделанны случайными - стоит формула в значении по умолчанию. При использовании ODBC небыло проблем, а в adp при внесении записи (ключевое поле остается пустым в расчете на формулу) access ругается что запись не будет отражена тк не удавлитворяет условим базы и не отображает запись, но при этом запись в SQL производиться. Я понимаю что все правы(SQL и ACCESS) а посему прошу совета как обойти эту ситуацию. Ps:Пока вижу одно решение - убрать формулу в SQL и поставить ее в форму на клиенте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 11:06 |
|
||
|
Первичный ключ в связке MS SQL - Access
|
|||
|---|---|---|---|
|
#18+
Поизучай Resync Command (Команда синхронизации) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 11:20 |
|
||
|
Первичный ключ в связке MS SQL - Access
|
|||
|---|---|---|---|
|
#18+
2 Pavel Извени, но почитал и не дошло, что именно писать в это свойство ? И как быть если заполнение идет непосредственно в таблицу (без формы)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 12:56 |
|
||
|
Первичный ключ в связке MS SQL - Access
|
|||
|---|---|---|---|
|
#18+
2 lsnk Свойстов Resync Command усть у ADODB рекордсета и формы проекта A2K. Это строка SQL запроса (или имя хранимой процедуры), вращающая запись для занесения в форму\рекордсет при опреациях вставки и изменения. Набор полей должен в точности соответствовать набору источника данных. Критерием отбора является значение ключевого поля, которое подставляется автоматически в параметр запроса (процедуры), т.е. что-то вида SELECT ... FROM ... Where ... = ? Если ты хочешь колотить данные прямо в таблицу, то рекомендую создать табличную форму с прописанными свойствами "Однозначная таблица" и "Команда синхронизации". Разницы никто не заметит. Кстати, свойство "Однозначная таблица" исползуется если источник данных содержит более одной таблицы, но не будет ошибкой заполнить его и при одной. Почитай вот тут: http://www.delphikingdom.com/helloworld/ado01.htm http://www.delphikingdom.com/helloworld/ado02.htm http://www.delphikingdom.com/helloworld/ado03.htm Правда это для Delphi, но идея отлично изложена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 14:35 |
|
||
|
Первичный ключ в связке MS SQL - Access
|
|||
|---|---|---|---|
|
#18+
2 Pavel Спасибо, ситуация прояснилась..., но вопрос остался, тк: "Критерием отбора является значение ключевого поля, которое подставляется автоматически в параметр запроса (процедуры), т.е. что-то вида SELECT ... FROM ... Where ... = ? " Так вот это ключевое поле и определяется формулой. Для примера: Таблица PROBA ID - int -ключевое и в значении по умолчанию стоит формула TXT - varchar(10) Форма на заполнение этой таблицы Что надо написать в свойстве команда синхронизации? Select ID, TXT From PROBA Where ID=? - не работает... Зы:Извеняюсь за непонятливость, туплю я сегодя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 14:59 |
|
||
|
Первичный ключ в связке MS SQL - Access
|
|||
|---|---|---|---|
|
#18+
Неужели никто не сталкивался с такой ситуацией? Что все используют ключевые поля identity? Может случайное число надо делать не через значение по умолчанию в таблице? Помогите советом, очень надо!(весь процесс перехода стоит) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 18:49 |
|
||
|
Первичный ключ в связке MS SQL - Access
|
|||
|---|---|---|---|
|
#18+
Кидай сюда скрипт таблицы, разберемся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 19:33 |
|
||
|
Первичный ключ в связке MS SQL - Access
|
|||
|---|---|---|---|
|
#18+
Да таблицу я уже описывал, достаточно двух полей, главное что бы в ключевом поле была формула в значении по умолчанию. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Вроде так.(создавал мастером для быстроты). В принципе сама формула не так важна, важно ее наличие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 10:21 |
|
||
|
Первичный ключ в связке MS SQL - Access
|
|||
|---|---|---|---|
|
#18+
А ЗАЧЕМ САМОМУ ФОРМИРОВАТЬ ПСЕВДОУНИКАЛЬНОЕ ЗНАЧЕНИЕ? Есть же стандартное решение: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 11:35 |
|
||
|
Первичный ключ в связке MS SQL - Access
|
|||
|---|---|---|---|
|
#18+
Этот тип данных я конечно поизучаю, но как мне кажется будут проблемы, тк мне надо во всех таблица (в том числе и в справочниках) ставить случайные числа в ключевых полях, как их потом связывать..., да и в программах в access-е как оперерировать с этим типом, всетаки 16байт...? К томуже база не новая, уже рабочая... То есть спасибо конечно за совет(попробую обязательно), но хотелось конечно именно с формулой, может просто не значении по умолчанию, а какнибудь через функции или триггера(пока решения не вижу кроме того что написал в самом начале и в повестки дня для себя не снял:() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 12:40 |
|
||
|
Первичный ключ в связке MS SQL - Access
|
|||
|---|---|---|---|
|
#18+
2 Pavel При попытке использовать тип uniqueidentifier сразу сталкнулся с проблемами: 1. Не преобразовывает старые значения типа int в этот тип (а база рабочая) 2.Как в VBA использовать это тип к примеру тут Me.ServerFilter = "IDP1='" & (Me!IDP1F) & "'" Me.ServerFilterByForm = True где поля IDP1 и IDP1F(типа выбор для фильтра) - uniqueidentifier. Так и через str(Me!IDP1F) не прокатывает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 13:17 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32071315&tid=1682887]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
173ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 287ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...