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

Проблема:
У мене довгий список 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 перед наведеним вище кодом.