dim rs As ADODB.Recordset
...
...
...
capture_id = rs.Fields(0)
что такое. Поля (0) означает?Что означает rs.Fields (0)? (ADODB) VBA
dim rs As ADODB.Recordset
...
...
...
capture_id = rs.Fields(0)
что такое. Поля (0) означает?Что означает rs.Fields (0)? (ADODB) VBA
первый столбец из набора записей (0) является первым (1) является второй и т.д. и т.п.
пример, если это ваш запрос
select LastName, FirstName
from YourTable
В этом случае s.Fields (0) возвращают бы колонка ЬазШат и rs.Fields (1) будет возвращать столбец ПгвЬЫат
извините, можете вам привести пример –
Он вытаскивает первый столбец из текущей строки в результирующем наборе.
Fields(x)
позволяет доступ к полям числового индекса, начиная с 0.
Edit:
Пример:
Если результат имеет два столбца: foo
и bar
..
rs.Fields(0)
вернет значение из колонки,
и
rs.Fields(1)
возвратит значение колонны bar
.
Извините, можете вам привести пример –
@every_answer_gets_a_point - см. Мое редактирование для примера. Не уверен, что я могу сделать это более ясным, чем это. Представьте, что столбцы в текущей строке подобны массивам, которые также индексируются начиная с 0. – Matt
Я бы никогда не использовал этот синтаксис. Это зависит от запроса всегда с тем же полем в первом положении.
Кроме того, это спасет только минутное время. (Как и в миллисекундах, если не меньше.)
Пожалуйста, для любви к Богу, за правильную практику программирования, измените это, чтобы использовать имя поля. Это почти, но не совсем, принадлежит на сайте www.dailywtf.com.
Согласовано, это не нормально видеть. Единственный раз, когда я когда-либо использовал это, - это во время цикла, который открыл инструкцию SQL и затем зациклился, и только он сохранил бы часть миллисекунды, поэтому, если вы делаете это только один раз, нет смысла. Также я могу добавить, что есть комментарий прямо над строкой в моем цикле, чтобы объяснить, что номера полей помогут будущей отладке! –
«Никогда, никогда» кажется немного сильным. В этом случае я считаю, что он используется для получения последнего вставленного @identity. Доступ также может использоваться для анализа данных и очистки данных, где вам может понадобиться «для каждого поля в каждой таблице». – Fionnuala
Я почтительно не согласен с вашим первым предложением. В этом случае я никогда не использовал бы такой синтаксис.Теперь, когда ваше второе предложение прекрасное, когда вы перебираете все поля, тогда да, но это явно не так. Я использовал этот синтаксис myuself для 500-строчной подпрограммы, которая экспортирует содержимое набора записей в Excel и делает много очистки и форматирования. Но это не относится к исходному коду. –
Интересное имя на вашем счете. every_answer_gets_a_po Presumaly, вы пытаетесь «играть» так. –