1. Акция на весь декабрь! Получай оплату х2 за уникальные статьи, объемом от 200 слов, если в заголовке темы и теле статьи присутствует слово Python
    Скрыть объявление

Код Pl/sql

Тема в разделе "SQL", создана пользователем Sh00r00p, 9 авг 2007.

  1. Sh00r00p

    Sh00r00p Гость

    объясните пожалуйста строку.
    в таблице INCOTERMS есть только 3 поля: "INCOTERMS","TARIF_INSIDE","NO_SAIL"

    select incoterms ,
    0 as Checked into incoterms_list -- че за 0?? и incoterms_list
    from INCOTERMS
    where incoterms not in (
    select incoterms
    from contracts_ram_incoterm
    where ID_CONTRACTS_RAM= " & Me.ID & "
    )
    order by incoterms
     
  2. Over

    Over Well-Known Member

    Регистрация:
    4 июл 2007
    Сообщения:
    116
    Симпатии:
    0
    В общем, incoterms_list - это некоторая переменная, или даже таблица

    если пишется select ... into .. то значит значение из выборки будет заноситься в эту перменную/таблицу
    0 - это ноль.
    в данном запросе результат будет состоять из двух полей: первое - incoterms, второе поле будет называться Checked и содержать значения 0 в каждой записи.
     
  3. Sh00r00p

    Sh00r00p Гость

    во точно, спасибо! нашел таблицу incoterms_list у которой 2 поля "incoterms" и "Cheked"
     
  4. Sh00r00p

    Sh00r00p Гость

    вопрос такой:
    есть таблица 1 с данными
    столбец1 столбец2
    1 имя1
    2 имя2
    3 имя3

    список значений столбца 1 выводится в компонент ComboBox1. при выборе занчения в ComboBox1 надо чтоб значение из столбца2 переписовалось в переменную sql. (VBA или что знаете)
     
  5. Over

    Over Well-Known Member

    Регистрация:
    4 июл 2007
    Сообщения:
    116
    Симпатии:
    0
    Обожди, ты, видимо, что-то путаешь. SQL - это язык запросов. Запрос целиком передаётся на сервер и там целиком обрабатывается, а на твой комп возвращаются лишь результаты выполнения. И у тебя никак не получится передать какое-то значение в переменную SQL-запроса/скрипта во время его выполнения.
    Единственный возможный вариант - если выбранное значение Комбобокса будет передаваться в качестве параметра при вызове хранимой процедуры сервера или в качестве значения при формировании SQL-запроса к серверу.

    Другими словами, если у тебя выбираемые данные зависят от того, что юзер выберет/введёт на форме, то тебе нужно будет: 1) получить все данные с формы, 2) сформировать текст SQL-запроса (локально), 3) отправить его на сервер для выполнения, 4) обработать результаты выполения запроса.
     
  6. Sh00r00p

    Sh00r00p Гость

    данные с формы получены в виде переменной переменная1
    текст запроса должен быть типа
    "SELECT столбец2 FROM таблица1 where столбец1='" & переменная1 & "'"

    теперь мне надо достать оттуда значениие, что-то вроде

    переменная2 = CurrentDb.OpenRecordset(запрос) - но он выдает какуюто муру =) с типами
    т.е. вы правы отправить его на сервер для выполнения и обработать результаты выполения запроса.

    как это сделать? а кака если база локальная?
     
  7. Over

    Over Well-Known Member

    Регистрация:
    4 июл 2007
    Сообщения:
    116
    Симпатии:
    0
    Когда ты делаешь OpenRecordset, то в БД на обработку отправляется запрос. Результатом выполнения запроса будет являться ТАБЛИЦА!, даже если в ней одна запись и один столбец.
    Что касается метода OpenRecordset, то он возвращает объект типа Recordset. И у тебя никак не получится присвоить объект переменной "переменная2". Обычно пишут так:
    Код (Text):
    Set RecSetObj = CurrentDb.OpenRecordset(запрос)
    А потом уже через свойство Value (вроде бы) получай доступ к значениям, которые явились результатом твоего запроса.

    П.С. Пожалуйста, перед тем, как спрашивать что-то в форуме, разберись с хелпом. В Аксессе есть по VBA и ADO хороший хелп, где всё описано.
     
  8. Over

    Over Well-Known Member

    Регистрация:
    4 июл 2007
    Сообщения:
    116
    Симпатии:
    0
    Когда ты делаешь OpenRecordset, то в БД на обработку отправляется запрос. Результатом выполнения запроса будет являться ТАБЛИЦА!, даже если в ней одна запись и один столбец.
    Что касается метода OpenRecordset, то он возвращает объект типа Recordset. И у тебя никак не получится присвоить объект переменной "переменная2". Обычно пишут так:
    Код (Text):
    Set RecSetObj = CurrentDb.OpenRecordset(запрос)
    А потом уже через свойство Value (вроде бы) получай доступ к значениям, которые явились результатом твоего запроса.

    П.С. Пожалуйста, перед тем, как спрашивать что-то в форуме, разберись с хелпом. В Аксессе есть по VBA и ADO хороший хелп, где всё описано.
     
  9. Sh00r00p

    Sh00r00p Гость

    Спасибо большое за подсказку. Я сделал через Field(0).
    Разве форум не для того сделан чтоб спрашивать непонятные вещи? help по VBA на английском и не всем людям понятны некоторые фразы тем более когда уже голова не варит)). Хочется ясного разъяснения.
     
Загрузка...

Поделиться этой страницей