Подайте базу даних SQL в Excel -

На жаль, я ніколи раніше не працював із SQL Server, і тому не знаю, як до нього підійти. Я вже намагався знайти відповідну допомогу шляхом пошуку, але це в основному занадто фрагментовано.

excel

Проблема:
У мене довгий список Excel, і я маю перевірити, чи записи вже є в базі даних SQL, і за потреби додати їх.

Запис даних у БД складається з: [Дата]; [Тип]; [Підтип]; [Значення]

Тільки якщо дата, тип і підтип недоступні в цьому сузір’ї, значення з Excel може бути перенесене в БД SQL.

ЗАПИТАТИ:
- Як мені зв’язатися з БД
- Як перевірити, чи доступний запис даних
- Як додати запис

Я був би радий, якщо хтось зможе мені допомогти.

- AW: Завантажте базу даних SQL за допомогою Excel

Щоб увійти, вам потрібно з'єднання з БД.
Для цього вам потрібні ім'я сервера, користувач та пароль.
Якщо у вас є, що ви можете зробити запит у таблиці, про дані - зовнішнє джерело даних - сервер SQL.

Таким чином, ви можете завантажити ці дані на окремий аркуш та проаналізувати їх разом із даними за допомогою формул порівняння, щоб визначити відхилення або відсутні, а також позначити у своїй базі даних, які ви хочете перезавантажити.

Щоб змінити дані в БД, вам слід використовувати ADO (Active Data Objects). Ви можете знайти огляд (із прикладами коду) у розділі Приклади коду ADO у Visual Basic.
Інший варіант (і, можливо, простіший для початківця):
Ви записуєте позначені (додані) записи із вашої таблиці у файл CSV. Такі інструменти, як SQL Developer, дозволяють імпортувати файли CSV у нові або існуючі таблиці в БД. Якщо ви робите це розумно, ви можете впоратися з цим повністю без VBA, тобто лише запит даних, позначення формулами, фільтрування, експорт як CSV та імпорт за допомогою розробника SQL (додати).

- AW: Завантажте базу даних SQL за допомогою Excel

Я б охарактеризував свої знання VBA як добрі.
Проблема полягає в тому, що ці дані слід оновлювати щодня за допомогою програми Excel пізніше, тому їх потрібно впроваджувати через VBA.

Я знаю ім’я сервера, користувача та пароль, і таблиця SQL уже налаштована відповідно.

Я зробив підключення до БД, але я також можу уявити, що воно має працювати без інтеграції. Врешті-решт, база даних матиме понад 200 000 записів даних, і лише частина з них буде отримана через Pivot, щоб не порушити межі Excel.

У самому списку Excel будуть лише ті значення, які слід додати до бази даних. Потім пошук відбувається за допомогою зведеної таблиці EXCEL

- AW: Завантажте базу даних SQL за допомогою Excel

Цитата:
. але я не можу знайти, як звернутися до бази даних VBA.
Я розмістив для вас посилання

- AW: Завантажте базу даних SQL за допомогою Excel

Але зараз у мене проблема, що я маю перевірити, чи дані вже доступні перед збереженням. Шляхом обману я виявив, що ви можете зробити це за допомогою функції підрахунку.

Отже, слід підрахувати, скільки файлів даних певного типу вже доступно, якщо число <> 0, то це не повинно зберігати дані.

Я думаю, що код пошуку повинен бути таким:

Код:

strsql = "ВИБЕРИТИ КІЛЬКУ (*)" & _
"ІЗ таблиці1" & _
"WHERE Desc = 'TEST'" & _
"І ДАТУМ = 41204"

- AW: Завантажте базу даних SQL за допомогою Excel

Я не можу зрозуміти, чому ви хочете зробити цей підрахунок заздалегідь.
Чому б вам не розширити свій INSERT реченням WHERE, яке перевіряє, що вставляються лише неіснуючі записи ?

- Re: AW: Подайте базу даних SQL в Excel

Я не можу зрозуміти, чому ви хочете зробити цей підрахунок заздалегідь.
Чому б вам не розширити свій INSERT реченням WHERE, яке перевіряє, що вставляються лише неіснуючі записи ?

Гарне питання. Я думав, що повинен зробити це, щоб визначити, чи вже існує набір даних.

Встановити oADOCmd = CreateObject ("ADODB.COMMAND")
За допомогою oADOCmd
.ActiveConnection = oADOConn
.CommandTimeout = 120
.CommandType = 1
.CommandText = "ВСТАВИТИ У таблицю1" & _
"(DESC, дата, ідентифікатор, середнє значення)" & _
"ЦІННОСТІ ('DESC1', '13 .01.2012 ',' C1 ', 200.50)"
.Виконайте vAnswer
Закінчити з

Просто дізнався, погравши з підрахунком.
Щоб дані не зберігались двічі у базі даних, я б зараз просто встановив оператор if перед наведеним вище кодом.