| |
|
|
| | создал проект на основе базы SQL Northwind. В ней создал две хранимки:
ALTER PROCEDURE dbo.sp_Customers
AS SELECT ContactName, CompanyName, CustomerID
FROM dbo.Customers
для заполнения cbo_customers
и вторая для заполнения lst_shipadress, которая берёт значения из cbo_customers
ALTER PROCEDURE dbo.sp_ShipAdress
(@cbo_customers nchar(5))
AS SELECT dbo.Orders.ShipAddress, dbo.Customers.CustomerID
FROM dbo.Orders INNER JOIN
dbo.Customers ON dbo.Orders.CustomerID = dbo.Customers.CustomerID
WHERE (dbo.Customers.CustomerID = @cbo_customers)
Ну и обновляю соответственно:
Private Sub cbo_customers_AfterUpdate()
Me.lst_shipadress.Requery
End Sub
Всё работает. Скажте пожалуйста, а при работе с базой нескольких пользователей одновременно так работать будет правильно?
Может есть более правильный путь? (ADO и тд.) Вы бы как сделали, если бы делали базу для нескольких компьютеров одновременно? | |
| |
| |
| |
|
|
| | да все нормально, а что вас смущает? | |
| |
| |
| |
|
|
| | меня смущает простота, если просто, значит что-то не так.
создал ещё одну ХП, которая возвращает даты заказов:
ALTER PROCEDURE dbo.sp_ShipDate
(@cbo_customers nchar(5))
AS SELECT dbo.Orders.ShippedDate, dbo.Orders.CustomerID
FROM dbo.Orders INNER JOIN
dbo.Customers ON dbo.Orders.CustomerID = dbo.Customers.CustomerID
WHERE (dbo.Orders.CustomerID = @cbo_customers)
Переделал код:
Private Sub cbo_customers_AfterUpdate()
Me.lst_shipadress.Requery
Me.lst_date.RowSource = "exec sp_ShipDate @cbo_customers=" & Me.cbo_customers
Me.lst_date.Requery
End Sub
Тоже работает.
какой вариант надёжнее и побыстрее? или оба применимы?
просто смогут ли с базой SQL с таким синтаксисом работать пять человек одновременно? | |
| |
| |
| |
|
|
| |
просто смогут ли с базой SQL с таким синтаксисом работать пять человек одновременно?
|
смогут | |
| |
| |
| |
|
|
| | ещё один совсем уж смешной вопрос, забыл как разрешить перемещать формы и таблицы в ACCESS2007, при открытии сразу на весь экран разворачивается и ничего не сделать | |
| |
| |
| |
|
|
| | сам себе и отвечу: надо разрешить "ПЕРЕКРЫВАНИЕ ОКОН" | |
| |
| |
| |
|
|
| | Не подскажете, где находится выбор "ПЕРЕКРЫВАНИЕ ОКОН" перерыл все что могу, не нахожу;(. | |
| |
| |
| |
|
|
| | наверное в пункте меню Окна
Или в пукните Вид | |
| |
| |
|
|
| |
|
|
| | Это находится в Параметрах ACCESS-->Текущая база данных. Я тоже долго искал. | |
| |
| |
| |
|
|
| | Раз уж здесь уже идёт общение, то здесь и задам новый вопрос: не понимаю как вносить данные в таблицу SQL, выбрал для формы "Источник данных" нужную таблицу, в свойствах полей таблицы прописал "данные" соответствующие полям таблицы, как в простой базе, и после этого не могу внести. Это может быть связано с чем? С авторизацией(я сейчас вообще не авторизуюсь при открытии формы) или с другими причинами?
так говорю тк данные могу вносить только в SQL manager, в ACCESS таблицу могу открыть, но доступа к полям нет, только просмотр | |
| |
| |
| |
|
|
| | Подразобрался, как я понял в таблице обязательно должно быть ключевое поле. Без него не фурычит. | |
| |
| |
| |
|
|
| | Спасибо!  | |
| |
| |
|
|