• MSSQL - что за guid номера?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Правой кнопкой по таблице. Потом поля. Встать на нужное, и посмотреть, какой именно фукнцией оно формируется (хотя уже написано, какой) - и если оно там стоит, то не париться за уникальность, сформируется само.

    Если же не стоит значение по умолчанию, значит, это поле заполняется из процедуры/фунции при вставке замене. Где - надо искать.

    Код, который формирует записи, почему вдруг посмотреть нельзя? Профайлер запустить невозможно, что ли?
    Ответ написан
    3 комментария
  • Как составить запрос на пустоту поля?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Значит, на пустое поле так не проверяют. Надо понимать разницу между "пустая строка" и Null

    самое простое для акцесса - это прибавлять к строке пустую, тогда NULL станет тоже строкой.

    MyValue = trim(MyValue) & ""

    что здесь делается - если значение строки MyValue - одни пробелы, оно провратится в ""
    Если значение строки NULL - оно провратится в ""

    select * from mytable where trim(MyValue) & "" <> "" -- вот этот запрос отработает.

    Теперь, две таблицы:

    select * from mytable mt
    join mytable2 mt2 on mt.id = mt2.id_item
    where trim(mt.MyValue) & "" <> ""
    Ответ написан
    Комментировать
  • Что использовать для простой работы с большими таблицами?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    если надо делать быстро - акцесс тут тоже не очень подойдет. Ничего серьезного в этой задаче нет, конечно.
    я бы поставил бесплатную версию sql сервера, загнал все в одну таблицу и дал бы признак Department
    и в него ваши филиалы от 1 до 100.

    А дальше простой селект. Должно летать и ничего сложного не будет.
    Ответ написан
  • [HELP] Как добавить все элементы из списка с привязкой id студента?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Вот я примерно об этом вам только что и писал. Подход странный.
    Вы меняете или добавляете в один момент - одну запись. Одну. Нахрена писать их все?
    Ловим событие after_update комбобокса с оценками. И вставляем/обновляем запись. Одну. Не забудьте проверять, что заполнены комбобоксы Grade, Subject, Student.

    Это если очень хочется кодом. А ведь это же самое можно сделать вообще код не используя.
    Ответ написан
    2 комментария
  • [VBA] Как добавить все элементы списка в таблицу?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    дорогой коллега. Во-первых, выставлять оценки, выбирая их из комбобокса... Странновато. Проще сделать три проверки для текстбокса: что выше нуля, что меньше 5 и что значение целое. Возможно, конечно, что вы имели ввиду предметы, но их тоже выбирать из комбобокса немного странно... Скорее тут нужен листбокс с фильтром или вообще подчиненная форма.

    Т.е. уже по описанию задачи видно, что вы делаете ее не очень правильно, имхо.

    Почему бы не передать это профессионалам? Будет значительно быстрей, равно как можете попросить прокомментировать решение.
    Ответ написан
    Комментировать
  • Что выбрать для разработки?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Не менять Access 2010. Поддержка adp в более старших версиях прекратилась, очень многие разработчики далее не идут поэтому. И вообще это нормальная, стабильно работающая система - я бы не рекомендовал от 2010 уходить.
    Ответ написан
    Комментировать
  • Как развенуть элемент "Список" в форме на 90% против часовой стрелки?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Доброго. Не надо экономить место таким странным образом. Откройте для себя элемент Вкладки. На каждой вкладке можно разместить свои элементы, равно как и вообще сабформу. Вот тут будет и экономия места и список учеников и вообще мир во всем мире.
    Ответ написан
    Комментировать
  • Как изменить содержимое таблицы Microsoft Access?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Доброго.

    Простой вопрос. Для самого грида - это вот таблица, делаете запрос, возвращающий данные.
    В комбобоксах - выпадающих списках, есть свойство after_update.
    В нем делаете проверку на условия, если все хорошо - изменение запроса под новые условия.

    Условно:
    комбобокс класс, в нем два поля, id_class, class_name. Первое поле скрытое.

    cmb_class_afterupdate()

    ' проверили значение комбобокса

    ' если все хорошо - присвоили новое значение рекордсету

    ' присвоили рекордсет подформе.
    Ответ написан
    Комментировать
  • Как в Microsoft Access сохранить данные из формы?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Создать для формы источник данных, запрос. Все будет сохраняться само при переходе на следующую запись. Нужна группа и староста в нем.
    Ответ написан
    Комментировать
  • Как скопировать данные из поля одной формы в поле другой формы access?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Ай вэй... Вообще детский вопрос. Реализовать его можно минимум тремя вариантами.

    Я лично, чтобы руку не сбивать, передаю через параметры формы.
    ' собираю строку для передачи в форму для редактирования
    strOpenParam = me.txt_id & "#"
    DoCmd.OpenForm "frmLocationAddEdit", acNormal, , , , acDialog, strOpenParam

    Где me.txt_id - то самое поле. А "#" - разделитель.
    Если надо еще параметров - передаешь их таким же образом, добавляя разделитель.

    И в форме 2 делаешь вот это:

    Private Sub Form_Open(Cancel As Integer)
    Dim searchArgument As String
    searchArgument = Nz(OpenArgs, "")
    If Len(searchArgument) = 0 Then
    MsgBox "The open arguments are not correctly transferred ", vbInformation
    Cancel = True
    Exit Sub
    End If
    me.id_form = Split(OpenArgs, "#")(0)

    У этого метода есть один, но серьезный недостаток. Разделитель, в данном случае # не должен присутствовать в переданной строке. Поэтому для себя выбери разделитель другой - и контролируй передаваемую строку перед тем, как, открывать вторую форму.
    Достоинство его - удобно передавать кучу данных сразу, наглядно.
    Ответ написан
    Комментировать
  • Как понять работу sql-запроса?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Попробуйте так. Результат одинаковый будет, но оптимизатор не станет выполнять лишний select
    SELECT `group_id` FROM `vkgroups` WHERE `group_id`
    IN (SELECT `group_id` FROM `vkmembers` ORDER BY `members` DESC LIMIT 0,20)

    Т.е. что вижу я тут странное. Вот это подзапрос, который в скобках. Он отбирает нечто, обратно это сортирует и берет первые 20 записей из результата.
    Условно, значения у вас идут от 10 до 100 - берутся записи от 100 и до 80. Фактически - возьми последние 20 записей
    SELECT `group_id` FROM `vkmembers` ORDER BY `members` DESC LIMIT 0,20

    Зачем делать из этого потом еще один запрос select * - не ведаю.

    И совершенно непонятно, зачем брать абсолютно все данные и их потом переворачивать. Добавьте, например, условие сюда же по дате, или брать не все данные, а половину только и скорость увеличится.
    Ответ написан
  • Курсы Специалист по MS SQL Server и сертификат Microsoft. Стоят ли чего-то эти курсы? А сертификат вообще реально Microsoft или так бумажка?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    "Специалист" дает хорошие вещи, особенно если ведущий там будет Самородов. Реальные примеры из жизни дает и вообще талантливый учитель. Это сертифицированный центр.

    Сертификат не значит ничего, он просто о том, что курсы прослушаны. Экзамены у них же сдавать можно, но это отдельная тема.
    Ответ написан
  • Почему не записывается кириллица в поле типа text MS-SQL?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    использовать правильные типы для хранения данных. если в поле адрес всего-то вон 30 символов на взгляд, на кой делать его text? Текст, вопреки названию, для хранения баааааальшого количества данных предназначен.
    Ответ написан
    Комментировать
  • Эффективно ли составлен запрос на получение первых нескольких записей из БД с использованием JOIN?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Доброго. На мой взгляд - изврат. Вот это вот создание временной таблицы из groups, потом джойн с тем же groups её...

    SELECT TOP(3) GroupID FROM Groups g
    LEFT JOIN Users u ON u.GroupID = g.ID
    WHERE Replicated <> 1;

    Все. Вот ваши три записи, любые несинхронизированные. Поля нужные из обеих таблиц вставьте самостоятельно. И второе - откройте для себя таинство команды select ... output ...
    Ответ написан
  • Как вызвать функцию с ms sql сервера из access?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Доброго.
    В такой постановке: 1 вариант прост и не требует дополнительных телодвижений. Что в нем не нравится, зачем нужен второй?

    Меня лично смущает: "к полю в акцессе". А почему, собственно, не сделать stored procedure с параметрами, из акцесса формировать строку, и выполнять вообще всё, а не конкретно апдейт одного поля, на стороне сервера?
    Ответ написан
  • Возможно ли создать системную функцию в MS SQL Server?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Вы, май френд, неправильно задаете вопрос. Вам не нужна системная функция, вам нужна функция, которую оптимизатор будет обрабатывать по-другому, быстрее. Так?
    Ответ на такой вопрос: выкатывайте сюда эту функцию, будем поглядеть.
    Ответ написан
    Комментировать
  • Как связать целую таблицу БД с определённой строкой другой таблицы?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Доброго. Делаем промежуточную таблицу. Три поля.

    Rid - рендом айди для этой таблицы,
    id_bus - сюда пишем номер маршрутаа
    id_busstop - сюда пишем остановку.

    Всё. Сколько угодно остановок на маршрут, сколько угодно маршрутов. Ну, признак еще можно добавить, is_direct, битовый. Если 1 - то прямой маршрут, если 0 - обратный.
    Ответ написан
    Комментировать
  • Как реализовать проверку изменений в access?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Конечно. before_update событие для этого предназначено.
    Ответ написан
    2 комментария
  • Почему не устанавливается внешний ключ?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Зачем Primary key стоит на обоих полях? В таблице Users не нужно это, обычный int и все.
    Ответ написан
    Комментировать
  • Как перенести БД с Access на SQL Server?

    art_karetnikov
    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Не использовать мастер преобразования, а использовать в sql server - импорт данных.
    Правой кнопкой по базе, Tasks, Import data.
    Ответ написан
    Комментировать