Dbgrid и Table

Тема в разделе "Delphi - Базы данных", создана пользователем RezchiK, 22 янв 2008.

  1. RezchiK

    RezchiK Гость

    Может кто знает как сделать вот такую хитрожёлтую вещь:
    У меня в табилце первое поле, это "номер заказа"всё вводится вот таким макаром:


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

    И вот такой ещё квейшенс...как это можно сделать: я задаю номер заказа и прога выдаёт мне всё по этому заказу(нужно для печати). Зарание благодарю :) ;) :)
     
  2. root

    root Гость

    Для: RezchiK
    база в чем ?
     
  3. Barmutik

    Barmutik Гость

    Немного смущает отсутствие Post после того как все данные в запись были включены...
     
  4. SNike

    SNike Гость

    <!--QuoteBegin-RezchiK+22:01:2008, 17:54 -->
    <span class="vbquote">(RezchiK @ 22:01:2008, 17:54 )</span><!--QuoteEBegin-->как мне сделать чтоб при последующем заполнении поля "номер заказа" он выдал масагу мол так и так, вообщем такой номер уже есть))), если запись с таким"номером заказа" уже имеется..
    [snapback]94550" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Так сделай поле номера заказа ключевым типа автоинкремента (или генератор и т.п., смотря что за база) чтоб само увеличивалось. Или отдельным запросом поищи - есть такой номер в базе или нет

    <!--QuoteBegin-RezchiK+22:01:2008, 17:54 -->
    <span class="vbquote">(RezchiK @ 22:01:2008, 17:54 )</span><!--QuoteEBegin-->я задаю номер заказа и прога выдаёт мне всё по этому заказу(нужно для печати)
    [snapback]94550" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Тут тебе поможет связка Master - Detail. Или запрос с параметрами.

    А еще советую отказаться от обращения к полю по его номеру (Fields[8], к примеру), а то если изменится порядок полей - то наступит день просветления :) Лучше используй FieldByName.
     
  5. RezchiK

    RezchiK Гость

    База в чём у меня я не знаю(как-то не разабрался), но таблици я делал в Database Desktop и регистрировал её потом в Database Explorer...сейчас весь код переделал, так как связал dbedit с соответствующими полями таблицы и уже сними буду осуществлять поиск и печать...

    Я сделал прощё, если в базе есть номер заказа, то он выдаст информацию по этому заказу, а если нет, то выдаст сответствующее сообщение...вот только ещё надо поставить там комбобокс в котором
    можно было б выбрать картинку изделия, и она тоже пойдёт на печать...
     
  6. root

    root Гость

    Для: RezchiK
    Совет в delphi есть демки посмотри их там все очень просто и наглядно показано, тем более что у тебя тоже база paradox
    Если будут сложности тогад кидай на форум, но с начала попробуй сам разобраться :)
     
  7. SNike

    SNike Гость

    <!--QuoteBegin-RezchiK+23:01:2008, 11:59 -->
    <span class="vbquote">(RezchiK @ 23:01:2008, 11:59 )</span><!--QuoteEBegin-->База в чём у меня я не знаю
    [snapback]94665" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Нда... Без комментариев :)
     
  8. RezchiK

    RezchiK Гость

    Я просто не разбираюсь в них:(:):)
     
  9. RezchiK

    RezchiK Гость

    Для: sax_ol
    >Прислушайся к совету root, он правильные вещи говорит.
    Да я уже почти во всём разобрался, если в чём затуплю, то отпишусь:):):) вот кстати непонятка:
    procedure TFZakaz.FormCreate(Sender: TObject);
    begin
    Edit7.Clear;
    DBEdit1.Clear;
    DBEdit2.Clear;
    DBEdit3.Clear;
    DBEdit4.Clear;
    DBEdit5.Clear;
    DBEdit6.Clear;
    DBEdit7.Clear;
    DBEdit8.Clear;
    DBEdit9.Clear;
    DBEdit10.Clear;
    end;

    каждое поле привизал к полю таблицы, но при открытии формы, поля всё равно не очищаются(((
     
  10. root

    root Гость

    Для: RezchiK
    у таблицы свойство активате отключи при включенном он позиционирует на первой записи таблицы
    => что это только инструмент для отображения записи поля таблицы если ты хочешь при открытии удалить определенный записи то тебе необходимо прейти в режим редактирования "EDIT"
     
  11. RezchiK

    RezchiK Гость

    Для: root
    так если я отключу свойство active, то записи не будут записыватся в таблицу, а точнее даже данные нельзя будет внести)))
    Это как если не секрет???)))
     
  12. root

    root Гость

    Для: RezchiK
    table1.edit;
    dbedit1.clear;
    table1.post;
    B вообще тогда зачем clear-ить? мож тогда другой подход нужен ?
     
  13. RezchiK

    RezchiK Гость

    Для: root
    Видишь у меня какая штука выходит: я открываю эту форму __________.JPG
    и там я заполняю данные, так сказать оформляю заказ и распечатываю его, также на ней я ищу по номеру заказа все данные, поэтому в событии OnCreate мне нужно написать очистку полей...

    Я просто занимаюсь резьбой по дереву и курсач выбрал такой, чтоб для себя можно было бы использовать(потом хочу его прообгрейдить и на диплом...), так сказать свободная тема, вот теперь мучаюсь и задаю себе вопрос почему же я не как все: выбрал бы себе тему, скачал исходник, поправил интерфейс и был бы доволен, когда этот курсач допуск к сессии, которая уже почти закончилаь, ну нечего-прорвусь, где наша не пропадала :) ;) :)
     
  14. Zanka

    Zanka Гость

    Проверка на уже существующий заказ:
    Сначала запиши в переменные свои Edit-ы:
    field1:=Edit2.Text; // заказчик
    field2 :=Edit3.Text
    Потом ищем их в базе
    if DataModule1.TableGlavn1.Locate('имя_поля1;имя_поля2;...',VarArrayOf([field1,field2]),[])
    then
    ShowMessage('такой номер уже есть)))!')
    else...
     
  15. RezchiK

    RezchiK Гость

    Для: Zanka
    Спасибо за совет, но я сделал прощё, так как всё таки тема свободная, я сделал заполнение таблиц на отдельной форме, где можно будет просматривать и редактировать все базы...а на той форме, что на рисунке я с помощью кнопки "введите номер заказа" я просто вывожу нужные записи...
     
  16. RezchiK

    RezchiK Гость

    У меня такая невезуха с фильтрацией БД-точнее она не выполняется((( создал вторичные ключи у полей 'FIOZakaz' и 'Material'...может что кто подскажет...он фильтрует, когда у вторичного ключа одно поле...
     
  17. RezchiK

    RezchiK Гость

    Уже разобрался))) просто надо было в таблице у вторичных индексов галочку у свойства уникальный убрать и всё заработало)))
     
  18. RezchiK

    RezchiK Гость

    Вот ещё такой вопросец, никак нее могу догнать как делать связи с таблицами в Database Desktop. У меня две таблицы:
    Glavn:
    ID + *
    Nom I
    FIOZakaz A 30
    Adress A 30
    DataZakaz D
    ............
    Image G

    Adress:
    ID + *
    FIOZakaz A 30
    Adress A 30

    Как мне создать связи в десктопе, чтоб занесённые данные родительской таблицы Adress в поле с адресом, отображались в дочерней таблице Glavn??? И можно тоже самое сделать с изображением??? Потом как я понимаю надо будет прировнять эти поля в SQL в Query??? Есть мануал по БД в Delphi 3, но там к сожелению нет соответствующих картинок из раздела связей...может у кго они есть-поделитесь:D:):)
     
  19. RezchiK

    RezchiK Гость

    Таблицы:
    Glavn1:
    ID + *; Nom I; IndNom I; FIOZakaz A 35; Adress A 30; DataZak D; DataIzg D; Price $; NameIzd A 60; RazmIzd A 20; Material A 30; Pokr A 30; Image G.

    Adress:
    IndNom + *; FIOZakaz A 35; Adress A 30.
    Вторичный индекс в таблице Glavn1 IndNom(Maintained, Case sensitive)

    Связь:
    Child fields:IndNom из таблицы Glavn1, Parent's key:IndNom[+] из таблицы Adress
    Update rule-Cascade, Strict referentail integrity отмечена...

    В таблице Adress
    MasterSourse:SourseGlavn1
    MasnerFields:IndNom->IndNom

    В (Glavn1) заносятся данные, часть которых нужно сделать, чтоб бралась из вторй таблицы(Adress), но
    при заполнении полей выдаёт ошибку:project Rezba.exe raised exception class EDatabaseError whitn message 'Field 'IndNom' cannot be modified'.
     
  20. RezchiK

    RezchiK Гость

    Ну вообщем дело было так: В одной таблице(Заказы) записывается номер заказа, ФИО заказчика, дата изготовления и так далее. Во второй таблице(Адреса) у меня ФИО заказчика и его адрес. Допустим у меня в таблице заказов Иванов сделал несколько заказов, но потом он сменил адрес и чтоб адреса у каждой записи не исправлять, информация обновляется в табл заказоав, при изменении в таблице адресов...
     
Загрузка...
Похожие Темы - Dbgrid Table
  1. Gelergo
    Ответов:
    1
    Просмотров:
    1.758
  2. Ягодка
    Ответов:
    1
    Просмотров:
    2.336
  3. novachok
    Ответов:
    3
    Просмотров:
    2.724
  4. NickProstoNick
    Ответов:
    3
    Просмотров:
    3.404
  5. V88
    Ответов:
    0
    Просмотров:
    4.774

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