C update access - Новости с мира ПК
Vvmebel.com

Новости с мира ПК
4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

C update access

Проблемы с обновлением SQL в MS Access-операция должна использовать обновляемый запрос

у меня есть запрос select, который выполняет некоторые текстовые манипуляции, чтобы по существу переформатировать поле, чтобы я мог посмотреть его в другой таблице:

если моя первая таблица если у меня есть поле типа «J1/2», он ищет идентификатор записи в другой таблице с J1 и J2 в соответствующих полях.

это все хорошо работает.

теперь я хочу обновить исходную таблицу, поэтому мне больше не нужно искать с помощью этой манипуляции со строками, но мои попытки обновления запросы заканчиваются на «операция должна использовать обновляемый запрос»

мое заявление SELECT:

напомним-это отлично работает, и я получаю необходимый t2.Идентифицировать другой конец.

так я хочу сделать что-то вроде:

только это не удается. Это в самом MS Access, поэтому я не могу представить себе фактическую проблему с разрешениями, как и большинство проблем «операция должна использовать обновляемый запрос». быть.

EDIT: попытка упростить случай, который не работает.

этот запрос обновления в порядке:

это не удается (спасибо Goedke-этот пример, очевидно, терпит неудачу, потому что подзапрос возвращает более 1 результата. Я упростил, чтобы попытаться найти мою проблему)

Итак, у меня просто синтаксис подзапроса в некотором роде неправильный?

EDIT: эта инструкция SELECT тоже прекрасна:

Furthermore, используя отсчет в инструкции select выше показано,что на комбинацию (DD, TN) возвращается ровно 1 ID

самый простой случай, который я теперь должен-используя различные операторы SELECT у меня теперь есть таблица всего с 2 столбцами-первичный ключ t1 и значение, которое я хочу вставить в t1.

Я все еще не могу писать

где первичным ключом t1 является f1. Даже добавляя, где t1.f1 IN (выберите f1 из t2) не помогает. (Добавлено для устранения вероятность того, что подзапрос возвращает 0 результатов)

7 ответов

подзапрос (выберите ID из t2) не может работать, если в t2 нет только одной записи. Какой ID вы ожидаете использовать?

сообщение об ошибке, о котором сообщается, обычно возникает, когда у вас есть соединения и не включают все первичные ключи, необходимые для обновления до таблиц в форме с привязкой к данным (например, ваш исходный DISTINCT уничтожает информацию о ключах, поэтому, если он был привязан к форме, форма не сможет сохранить обратно).

факт вы используете DISTINCT, это заставит меня заподозрить, что суб-запрос возвращает более одной строки в вашем более сложном примере. Это, вероятно, самая распространенная проблема с назначением результата подзапроса: недостаточное ограничение предложения where.

еще одна проблема, которую я видел с назначением из подзапроса, — это если синтаксис внутреннего запроса неверен. По крайней мере, с SQL 2000 и 2005 back ends процессор запросов будет молча сбой и возврат NULL в таких случаях. (Это, насколько я могу судить, ошибка: Я не вижу причин, почему что-то, что вернет ошибку на верхнем уровне, будет молча разрешено в подзапросе. но это так.)

изменить: Чтобы убедиться, что ни пол, ни я не сходим с ума, я создал следующие таблицы:

Я не поместите любые ограничения, кроме первичного ключа на ID и ID2. Все поля были текстовыми, что отличается от того, что я обычно используйте для идентификаторов, но не имеет значения.

не удалось с тем же сообщением, которое получил Пол.

работает, как ожидалось, поэтому мы знаем, что синтаксис подзапроса не виноват.

также работает, как ожидалось, поэтому у нас нет поврежденного или не обновляемого назначения.

Примечание: если я изменю бэкэнд базы данных с собственного на SQL 2005, обновление работает! Немного погуглить, и я нахожу Access MVPs, предлагающий DLOOKUP заменить подзапрос:

по-видимому, это ошибка в Access SQL, которая избегается при использовании SQL Express 2000 или выше. (Результаты google для подзапроса «обновление доступа» поддерживают эту теорию).

Я должен взвесить комментарий Дэвида У. Фентона по поводу операции.

Это очень раздражает проблема с Jet / ACE. Но попробуйте либо:

  1. перейдите к свойствам запроса (нажмите фон панели, на которой таблицы отображаются) и set «Уникальные записи» на «Да»
  2. Вариант 1 эквивалентен добавлению несколько странный вид DISTINCTROW ключевое слово в SELECT предложения, например

Это решает так много проблем, связанных с этим сообщением об ошибке, что это почти смешно.

Это MS Access в двух словах-если вы не знаете секретный обходной путь для проблемы x, вы можете занять несколько дней, пытаясь найти ответ. Знать 10 000 обходных путей — значит программировать доступ. Достаточно ли этого предупреждения для непосвященных ?

C# MS Access CRUD => DataGridView – INSERT,SELECT,UPDATE,DELETE

DataGridView is one of the most popular and powerful winform components out there. Not only can render textboxes but also checkboxes, images as well as combobox.

This makes it quite suitable to display database data and perform CRUD operations against that data. You can then sort, filter and search data.

However, today we are only concerned with one thing: perform CRUD operations with MS Access database. We see how to save/insert data into MS Access database, retrieve/select that data and display in datagridview, update/edit selected database data and persist changes and finally delete row by row.

Overview

The dataGridView component allows us display data in Grids that are very flexible. The class itself belongs to System.Windows.Forms namespace, meaning it’s a winform widget. Futhermore, it resides inside the System.Windows.Forms.dll assembly. It’s a component that exists for C#, VB.NET, C++ and F#.

Questions this Examples helps answer.
  • How to use datagridview component with ms access database?
  • How to insert/save data from textbox to ms access database.
  • How to select/retrieve ms access data to a datagridview.
  • How to update/edit ms access database via textbox and refresh datagridview changes.
  • How to dlete/remove ms access database data row by row in a datagridview.
Читать еще:  Создание контекстного меню access
Asssumptions.

We assume that you can drag a datagridview component in visual studio onto your winforms. Note that We used metro theme to theme our winforms. You don’t have to do so. However, if you would want to install metro theme look at this link in youtube. For this project, simply extend the System.Windows.Form instead of MetroForm. We also assume that you ms office access software installed in your machine and can create a database project in it with three 4 columns as shown below.

MS Database

MS Access Table

Database Name : spacecraftsDB

Database Table : spacecraftsTB

Columns: Below are our columns with database data types.

ID => Integer => Autoincrements

S_Name => Short Text

S_Propellant => Short Text

S_Destination Short Text

We have attached the MS Access database with the project, it’s in the mdb format. Just copy it to some directory and then copy the path of the mdb file you’ll use it in the connection string.

Screenshot
  • Here’s the screenshot of the project.

Source Code

Lets have a look at the source code.

Form1.cs

Download

Download the full project below: id=”4881″] Download

How To Run

  1. Drag Drop a datagridview in your Form in visual studio.
  2. Copy the Form1 class above into your Form1.
  3. Change the connection string path.
  4. Change database details.

Conclusion

We’ve seen how to insert, select, update and delete data to and from microsoft access database. Our component is datagridview.

C update access

INSERT, UPDATE и DELETE — управление данными в таблицах прямым выполнением SQL инструкций.

В дополнение к DAO или ADO, Access предоставляет способ «прямого» управления данными в таблице прямым выполнением команд SQL — добавить данные (INSERT), обновить данные (UPDATE) и удалить данные (DELETE). Можно легко написать приложение, которое не будет использовать ни DAO, ни ADO, следовательно никаких «заморочек» со этими ссылками при распространении приложения на другие компьютеры сети у Вас не будет (конечно, источники записей форм должны быть связаны с таблицами).

С другой стороны, хотя это будет вполне работоспособно, но слишком опрометчиво использовать прямое выполнение команд SQL в мультипользовательской среде, однако для сохранения различных настроек приложения подойдет вполне. Причем, никакой разницы нет — в линкованных таблицах сохраняются значения или в локальных.

В одном из моих довольно больших приложений все настройки клиентских приложений запоминаются в специальных таблицах базы данных описанным образом, и могу утверждать, что работает все более чем нормально ;).

У Access’a имеется метод .Execute, которому и требуется передавать заранее собранную SQL-строку для выполнения.

SQL [es kju:’el], [‘si:kwel] Structured Query Language: язык структурированных запросов, язык SQL. Вот не поленился и даже в транскрипции написал — как хотите, так и говорите. Указал специально, чтобы при чтении статьи у Вас закрепилось внутреннее произношение 😉

В принципе, инструкции SQL, человеку более, менее понимающему английский язык, понятны сразу, вот только реализация всегда кроется в тонких и не всегда очевидных деталях. Освещению таких деталей я и посвятил статью.

Сначала возьмем очень простой пример. Допустим, у нас есть справочная таблица tblРайоны, состоящая из всего двух полей:

КодРайона тип Счетчик

Район тип Текстовый

И у нас имеется форма, с текстовым полем txtРайон, значение из которого необходимо добавить (INSERT) в таблицу:

Код очень простой — сначала формируем текстовую строку и передаем ее методу .Execute:

Dim strSQL As String
‘ процедура добавления в таблицу нового района
strSQL = «INSERT INTO tblРайоны([Район]) VALUES » & _
«(‘» & Me.txtРайон.Value & «‘);»
CurrentDb.Execute strSQL

Сразу хочу обратить пристальное внимание на проверку передаваемого значения на NULL, если передать NULL (поле txtРайон не заполнено пользователем), то метод выполнится как ни в чем не бывало, но изменений в таблице tblРайоны не произойдет (не удивляйтесь потом, что ничего не работает ;).

Поэтому сразу будем делать правильно:

Dim strSQL As String
‘ процедура добавления в таблицу нового района
If Not IsNull(Me.txtРайон.Value) Then
strSQL = «INSERT INTO tblРайоны([Район]) VALUES » & _
«(‘» & Me.txtРайон.Value & «‘);»
CurrentDb.Execute strSQL

Else
MsgBox «Вы должны заполнить поле [Район]», vbExclamation, «Не указан район»
End If

Вот теперь и проверяем на NULL, заодно и пользователя целенаправленно предупреждаем.

Как видно из примера, полем типа Счетчик (КодРайона) мы управлять не можем, да и не надо нам это, Access самостоятельно управляет этим полем (автоматом наращивает значение).

Теперь начнем удалять (DELETE) запись из таблицы

Dim strSQL As String
strSQL = «DELETE [Район] from tblРайоны WHERE [Район] = » & Me.txtРайон.Value & «;»
CurrentDb.Execute strSQL

В общем-то код на удаление записи прост, но непроста будет реализация на практике: необходимо требовать от пользователя точного написания названия района (в текстовом поле), и если будет ошибка или опечатка, то инструкция выполнится, но ничего не произойдет (условие не будет соответствовать). Да и зачем пользователя нагружать писаниной, если эти значения уже записаны в таблице ? Логичней будет предложить выбрать из списка удаляемое значение (ну и спросить, конечно, уверен ли?) и, уже абсолютно точно зная искомое значение, удалить нужную запись. Это, конечно, уже из области проектирования интерфейсов, но при реализации данного метода все равно придется делать «правильно».

Лично я вижу удаление так: в форме создаем список из двух столбцов (первый столбец скрываем, зачем код записи пользователю видеть-то?), связанный с таблицей tblРайоны и где-нибудь рядом кнопку [Удалить], на событие [Нажатие кнопки] которой вешаем код

Dim strSQL As String
‘ процедура удаления из таблицы выбранного в списке района
If Not IsNull(Me.lstРайон.Column(0)) Then
strSQL = «DELETE [Район] from tblРайоны WHERE [КодРайона] = » & Me.lstРайон.Column(0) & «;»
CurrentDb.Execute strSQL
‘ обновим список
Me.lstРайон.Requery
Else
MsgBox «Выберите район из списка для удаления», vbExclamation, «Не выбран район»
End If

Читать еще:  Агрегатные функции access

Мы считываем из первого столбца списка lstРайон.Column(0) (нумерация столбцов в списках всегда начинается с 0) код записи, однозначно определяющий удаляемую запись в таблице и передаем ее инструкции за удаление.
Проверка на NULL заодно позволяет предотвратить ошибку, когда вообще строка в списке районов не выделена. Обратите внимание на обновление списка районов после удаления записи — пользователю приятно видеть, что выбранный район пропал ;).

Обычно я рисую список, текстовое поле (для указания новых или обновляемых значений) прямо над ним и три кнопки рядом со списком [Добавить], [Обновить], [Удалить]. Думаю, с реализацией таких интерфейсов у Вас не должно быть никаких проблем.

Заметьте, что Access автоматически удалит и поле счетчика КодРайона, что логично — сам наращивает, пусть сам и удаляет.

Строку на удаление можно подать и так:

strSQL = «DELETE * from tblРайоны WHERE [КодРайона] = » & Me.lstРайон.Column(0) & «;»

Звездочка (*) означает ВСЁ — всё, что есть в этой записи. Этот способ удаления отлично действует, когда полей в записи много — нет нужды указывать каждое удаляемое поле.

Ну и последний кит — инструкция на обновление (UPDATE)

Dim strSQL As String
‘ процедура обновления соответствующей записи в таблице
If Not IsNull(Me.txtРайон.Value) And Not IsNull(Me.lstРайон.Column(0)) Then
strSQL = «UPDATE tblРайоны SET [Район] = ‘» & Me.txtРайон.Value & «‘ WHERE [КодРайона] = » & Me.lstРайон.Column(0) & «;»
CurrentDb.Execute strSQL
‘ обновим список
Me.lstРайон.Requery
Else
MsgBox «Выделите район из списка, реквизиты которого необходимо изменить», vbExclamation, «Не выбран район для изменения»
End If

Раз у нас инструкция на обновление — необходимо проверять как поле txtРайон, в котором указано новое значение, так и строку в списке lstРайон (выбрана ли?). И, конечно, списочек обновить, чтобы изменения показать.

Вначале я рассмотрел простые примеры, чтобы Вы сразу не убежали ;). Теперь займемся плотнее — усугубим примеры управлением несколькими полями записи. Принцип абсолютно такой же, просто к написанию инструкции надо подойти немного тщательнее.

Теперь увеличим размер таблицы tblРайоны:

КодРайона тип Числовой

НаимПодразд тип Текстовый

ИндексПодразд тип Текстовый

ГородПодразд тип Текстовый

УлицаПодразд тип Текстовый

ДомПодразд тип Текстовый

КомПодразд тип Текстовый

ТелефонПодразд тип Текстовый

ПрефиксПротПодразд тип Текстовый

ПрефиксКвитПодразд тип Текстовый

НачальникПодраздЗвание тип Текстовый

НачальникПодраздФИО тип Текстовый

НачальникРУВДРайона тип Текстовый

РайонПоУмолчанию тип Числовой

Внушает ? Будем работать теперь с ней:

В этом примере мы сами управляем полем кода подразделения — с помощью агрегатной функции DMax вычисляем максимальное значение в столбце кодов таблицы tblРайоны и прибавляем единицу. Практически то же самое делает Access (если поле типа Счетчик), но есть большая разница, если мы удалим подразделение, то код удаленного подразделения Access повторно использовать не будет!. Объясню на пальцах: у нас было создано подразделение с автоматическим присвоением (счетчиком) кода с цифрой 3, потом мы его удалили, так вот, логично было бы следующему подразделению присвоить освобожденную цифру 3, нет Access присвоит уже цифру 4. Чтобы не допустить напрасного расходования кодов (и пропусков в списке) я и решил взять автоматическое присвоение кодов на себя.

Обратите внимание мы проигнорировали поле РайонПоУмолчанию. Ну проигнорировали и проигнорировали — значит туда ничего не будет записано.

Рекомендую оформлять такие длинные примеры именно по приведенной мною схеме — легче будет понять пример и выявить ошибку.

Процедура удаления записи с любым значением полей уже становится тривиальной 😉

Dim strSQL As String

‘ процедура удаления из таблицы выбранного в списке подразделения
If Not IsNull(Me.lstПодразд.Column(0)) Then
strSQL = «DELETE * from tblРайоны WHERE [КодРайона] = » & Me.lstПодразд.Column(0) & «;»
CurrentDb.Execute strSQL
‘ обновим список
Me.lstПодразд.Requery
Else
MsgBox «Выберите подразделение из списка для удаления», vbExclamation, «Не выбрано подразделение»
End If

К слову, если подать на выполнение такую строку:

strSQL = «DELETE * from tblРайоны;»

то ВСЕ записи в таблице будут удалены! Мы использовали удаление без всяких условий и получим пустую таблицу. Иногда и это нужно 😉

Вот примерчик на обновление записи:

Опять в коде выше игнорируем поле РайонПоУмолчанию, у нас для него припасена отдельная команда:

CurrentDb.Execute «UPDATE tblРайоны SET [РайонПоУмолчанию] = ‘» & Me.lstПодразд.Column(0) & «‘;»

что произойдет? во ВСЕ записи таблицы в поле РайонПоУмолчанию добавится значение из первого столбца списка lstПодразд. Но это то, мне и нужно было, если Вам необходимо обновить поле только в определенной записи, дополните эту инструкцию SQL условием WHERE.

Т.е. мы запросто можем обновлять и сразу весь столбец таблицы — поле во всех записях таблицы сразу!

Раньше мы заранее формировали инструкцию SQL в переменной strSQL, а в этом примере скармливаем методу .Execute непосредственно. Никаких различий в исполнении не будет, но, уверяю Вас, формирование строки заранее в переменной удобнее — можно посмотреть составленную инструкцию SQL командой MsgBox strSQL (перед передачей ее на выполнение) или распечатать ее для анализа в окне Immediate в режиме пошаговой отладки — ? strSQL. И с точки зрения оформления кода использование переменных более «правильно» ;).

А если нам сначала надо проверить, есть ли такая запись в таблице, и если есть, тогда обновить, а если нет, тогда добавить новую запись? Нет проблем, все решается тривиально:

Сначала мы пытаемся найти с помощью функции DLookup найти запись с искомым значением поля КодНарушения и если получаем NULL (функция DLookup вернула NULL), тогда удовлетворяющего значения поля не найдено — переходим к добавлению новой записи, иначе, если поле с таким значением в таблице где-то есть, переходим к обновлению. От функции DLookup нам требуется лишь подтверждение — найдено или нет искомое значение в указанном поле таблицы (конечно, искать необходимо только по полю с уникальными значениями (КодНарушения), чтобы избежать неоднозначности.

Читать еще:  Enable access based enumeration

Засим откланиваюсь и надеюсь, что пелену тумана над непонятными инструкциями SQL немного развеял. Если что-нибудь интересное встречу или вспомню, обязательно добавлю. Теперь Ваше время экспериментировать — в инструкциях SQL удивительно сочетаются и мощь и удобство и простота. Не забывайте заглядывать в справочную систему 😉

Обновление записей в таблице базы данных MS Access в Visual Basic

Одно из основных четырех действий над данными в БД (Select, Insert, Update и Delete) является модификация (Update, обновление) данных. Автор поставил задачу написать маленькую программу для обновления записей в таблице базы данных MS Access, но с большим удобством (гибкостью) управления программным кодом.

Рассматриваемая в данном примере программа имеет форму, сетку данных DataGridView, в которую из базы данных читается таблица при нажатии кнопки Читать из БД. Пользователь имеет возможность редактировать данные в этой таблице, после чего, нажав кнопку Сохранить в БД, данные в базе данных будут модифицированы, т. е. заменены новыми.

Для написания этой программы запускаем VB2010, заказываем новый проект New Project шаблона Windows Forms Application. Из панели Toolbox добавляем в форму элемент управления DataGridView и две командные кнопки. Программный код программы представлен ниже:

Обновление записей в таблице базы данных MS Access

[code]‘ Программа обновляет записи (Update) в таблице базы данных MS Access
Imports System.Data.OleDb
PublicClass Form1
Private DS As DataSet
Private DA As OleDb.OleDbDataAdapter
Private CO AsNew OleDb.OleDbConnection(«Data Source=»»C:vic.mdb»»;User ID=Admin;Provider=»»Microsoft.Jet.OLEDB.4.0″»;»)
Private CB As OleDb.OleDbCommandBuilder
‘ Dim COMMAND As OleDbCommand = New OleDbCommand или
Dim COMMAND = NewOleDbCommand
Private Sub Form1_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load
Button1.Text() =»Читать из БД»
Button2.Text() =»Сохранить в БД»
End Sub
Private Sub ЧИТАТЬ(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click
‘ Читать из базы данных:
DS =New DataSet
If CO.State = ConnectionState.Closed Then CO.Open()
DA =New OleDb.OleDbDataAdapter(«Select * From (БД телефонов)», CO)
CB =New OleDb.OleDbCommandBuilder(DA)
DA.Fill(DS,»БД телефонов»)
DataGridView1.DataSource = DS.Tables(«БД телефонов»)
End Sub

Private Sub СОХРАНИТЬ(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Button2.Click
‘ Сохранить в базе данных:
COMMAND.CommandText = «UPDATE (БД телефонов) SET (Номер телефона) = ?, ФИО = ? WHERE ((Номер п/п) = ?)»
‘ Имя, тип и длина параметра:
COMMAND.Parameters.Add(«Номер телефона»,OleDbType.VarWChar, 50,»Номер телефона»)
COMMAND.Parameters.Add(«ФИО»,OleDbType.VarWChar, 50,»ФИО»)
COMMAND.Parameters.Add(NewOleDbParameter(«Original_Номер_п_п»,
OleDbType.Integer, 0, System.Data.ParameterDirection.
Input,False, CType(0,Byte), CType(0,Byte), «Номер п/п»,
System.Data.DataRowVersion.Original,Nothing))
DA.UpdateCommand = COMMAND
COMMAND.Connection = CO
Try
‘ Update возврашает количество измененных строк:
Dim kol As Integer = DA.Update(DS, «БД телефонов»)
MessageBox.Show(«Обновлено » & kol & » записей»)
Catch ex AsException
MessageBox.Show(ex.Message,»Недоразумение»)
End Try
End Sub
EndClass[/code]

Вначале импортируем (Imports) пространство имен System.Data.OleDb, это обеспечит более короткие объявления объектов и манипулирования ими. Далее, как видно, мы имеем три процедуры обработки событий: загрузки формы, щелчок на кнопке Читать из БД и щелчок на кнопке Сохранить в БД. Чтобы объекты DataSet,DataAdapter, Connection, CommandBuilder и Command были видны в этих трех процедурах, объявляем эти объекты внешними внутри класса Form1.

При программировании чтения из базы данных на сетку DataGridView1 мы использовали объект CommandBuilder для демонстрации возможности чтения данных с помощью этого объекта, хотя могли бы организовать чтение из базы данных на сетку DataGridView1 так, как это было показано в предыдущих программах.

C update access

На этом шаге рассмотрим настройку других параметров.

Для настройки параметров в окне Параметры имеется вкладка Другие (рис. 1.), содержащая следующие разделы:

Операции DDE. Позволяет установить следующие параметры:

  1. Пропуск команд DDE. Если данный флажок установлен, то команды DDE, поступающие из других приложений, игнорируются.
  2. Обновление связей DDE. Этот флажок устанавливается для обновления связей DDE с интервалом, указанным в поле Период обновления (с).

Режим открытия по умолчанию. Позволяет установить следующие параметры:

  1. Общий доступ. По умолчанию база данных будет открываться для общего доступа.
  2. Монопольный доступ. По умолчанию база данных будет открываться для монопольного доступа.

Блокировка по умолчанию. Управляет используемым по умолчанию режимом блокировки записей в сети. Позволяет установить следующие параметры:

  1. Отсутствует. Редактируемая запись не будет блокироваться.
  2. Всех записей. Происходит блокирование всех записей в редактируемой форме или таблице сразу после их открытия.
  3. Изменяемой записи. Блокируется только редактируемая запись.

Блокировка записей при открытии БД. Флажок устанавливается для использования блокировки на уровне записей в текущей базе данных по умолчанию. Если флажок снят, то используется по умолчанию блокировка на уровне страниц (при которой блокируются все записи на странице на диске). Если флажок установлен, блокировка на уровне записей становится стандартным режимом блокировки при доступе к данных через формы, объекты в режиме таблицы и программы, которые используют набор записей для переходов по записям. Это не относится к запросам на изменение и к программам, выполняющим массовые операции с помощью инструкций SQL.

Аргументы командной строки. Вводятся значения, которые должна возвращать функция Command.

Время ожидания OLE/DDE (c). Промежуток времени, после которого Microsoft Access повторяет неудачную попытку выполнения операций OLE или DDE, в пределах от 0 до 300 секунд.

Период обновления. Промежуток времени, после которого Microsoft Access автоматически обновляет записи в режиме таблицы или формы, в пределах от 1 до 32766 секунд.

Число повторов обновления. Число попыток сохранения измененной записи, если эта запись заблокирована другим пользователем (от 0 до 10).

Период обновления ODBC (c). Промежуток времени, после которого Microsoft Access автоматически обновляет записи, доступ к которым осуществляется по протоколу ODBC, в пределах от 1 до 32766 секунд. Данная настройка действует только для базы данных, используемой в режиме общего доступа в сети.

Период повтора обновления (мc). Промежуток времени, после которого Microsoft Access автоматически повторяет попытку сохранения измененной записи, если эта запись заблокирована другим пользователем, в промежутке от 0 до 1000 миллисекунд.

Предыдущий шаг Содержание

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector