Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.03.2009, 17:15
Nicoligen Nicoligen вне форума
Прохожий
 
Регистрация: 19.10.2008
Сообщения: 10
Репутация: 10
По умолчанию из программы открыть .mdm в tdbgrid

День добрый.
Впорос такой: на диске есть файл микрософт акцесс .mdb
на форме есть
ADOTable1, DataSource1, DBGrid1, кнопочка "открыть".

при нажатии на кнопку, пишу:
Код:
if opendialog1.Execute  then
begin
adotable1.Active:=false; // при активном компоненте он не будет ничего менять
ADOTable1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source='+opendialog1.FileName+';Persist Security Info=True';
adotable1.TableName:='имя таблицы в открываемом файле';
adotable1.Active:=true;
end;
всё работает,
только как сделать так, чтобы не самому в тексте указывать нужную таблицу, а программа спрашивала, мол, в данном файле есть такие-то таблицы, пользователь выбирает какую открыть.... ?
  #2  
Старый 21.03.2009, 21:38
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

сделайте запрос к .mdb на получение имен таблиц:
Код:
 
select Name from MSysObjects where Type=1 and Flags=0
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
  #3  
Старый 21.03.2009, 21:53
Nicoligen Nicoligen вне форума
Прохожий
 
Регистрация: 19.10.2008
Сообщения: 10
Репутация: 10
По умолчанию

вы не могли бы пояснить поподробнее что это и как действует?
  #4  
Старый 22.03.2009, 11:49
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Вот смотрите код программы:
Код:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, ADODB;

type
  TForm3 = class(TForm)
    DataSource1: TDataSource;
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    DBGrid1: TDBGrid;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.FormCreate(Sender: TObject);
begin
 ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
                                    'Data Source=E:\DBase\KLADR.mdb;'+
                                    'Jet OLEDB:Create System Database=true;'+
                                    'Jet OLEDB:System database=C:\Users\Хозяин\AppData\Roaming\Microsoft\Access\System.mdw';
 ADOConnection1.Open;
 AdoQuery1.Open;
end;

end.

object Form3: TForm3
  Left = 0
  Top = 0
  Caption = 'Form3'
  ClientHeight = 302
  ClientWidth = 635
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object DBGrid1: TDBGrid
    Left = 16
    Top = 64
    Width = 320
    Height = 120
    DataSource = DataSource1
    TabOrder = 0
    TitleFont.Charset = DEFAULT_CHARSET
    TitleFont.Color = clWindowText
    TitleFont.Height = -11
    TitleFont.Name = 'Tahoma'
    TitleFont.Style = []
  end
  object DataSource1: TDataSource
    DataSet = ADOQuery1
    Left = 224
    Top = 8
  end
  object ADOConnection1: TADOConnection
    Mode = cmShareDenyNone
    Provider = 'Microsoft.Jet.OLEDB.4.0'
    Left = 56
    Top = 8
  end
  object ADOQuery1: TADOQuery
    Connection = ADOConnection1
    CursorType = ctStatic
    Parameters = <>
    SQL.Strings = (
      'select Name from MSysObjects where Type=1 and Flags=0')
    Left = 144
    Top = 8
  end
end

Обратите внимание на строку подключения:
параметр Data Source - в ней вместо моей БД напишите свою
параметр Jet OLEDB:System database - вместо моего пути к System.mdw напишите свой.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
  #5  
Старый 03.11.2010, 20:44
RuslanSuper684 RuslanSuper684 вне форума
Прохожий
 
Регистрация: 02.11.2010
Сообщения: 1
Репутация: 10
По умолчанию

Just want to ask your opinion. My friend recently installed the new реклама, and with his words it’s a really functional program!
Personally I have also tried it and quite content with everything, but just have some questions concerning the functionality of the program. Any help would be appreciated.
I have created a link for this purpose, as on many forums nobody has ever heard about the program.

Последний раз редактировалось Admin, 04.11.2010 в 12:17.
  #6  
Старый 04.11.2010, 00:00
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Ну дожили, уже засланцы стали рекламу сюда втюхивать.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
  #7  
Старый 04.11.2010, 12:17
Аватар для Admin
Admin Admin вне форума
Администратор
 
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,564
Версия Delphi: Delphi 7
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Страдалецъ
Ну дожили, уже засланцы стали рекламу сюда втюхивать.
Еще и на инглише )
Закрытая тема


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:17.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter