Нахранете ја базата на податоци SQL со Excel -

За жал, никогаш порано не сум работел со SQL Server и затоа не знам како да му пристапам. Веќе се обидов да најдам соодветна помош со пребарување, но тоа е претерано фрагментирано.

податоци

Проблем:
Имам долг список на Excel и треба да проверам дали записите се веќе во SQL базата на податоци и да ги додадам доколку е потребно.

Запис за податоци во ДБ се состои од: [Датум]; [Тип]; [Подтип]; [Вредност]

Само ако датумот, видот и подтипот не се достапни во ова со constвездие, вредноста може да се пренесе од Excel во SQL DB.

ПРАШАЈТЕ:
- Како да контактирам со ДБ
- Како да проверам дали е достапен записот за податоци
- Како додавам запис

Би бил среќен ако некој може да ми помогне.

- AW: Нахранете ја базата на податоци SQL со Excel

За да влезете, потребна ви е ДБ-врска.
За ова ви требаат името на серверот, корисникот и лозинката.
Ако имате тоа, можете да направите пребарување на табелата, за податоци - надворешен извор на податоци - SQL сервер.

Со ова можете да ги вчитате предметните податоци во посебен лист и да ги анализирате со вашите податоци користејќи формули за споредба со цел да утврдите отстапувања или недостасуваат и да обележите во вашата база на податоци кои сакате да ги вчитате.

За да ги промените податоците на ДБ, треба да користите ADO (Активни објекти на податоци). Преглед (со примери со кодови) можете да најдете во Примери за кодови АДО во Visual Basic.
Друга варијанта (а можеби и полесната за почетник):
Вие ги запишувате обележаните (да се додадат) записи од вашата табела во CSV-датотека. Алатките како што е SQL Developer овозможуваат увоз на CSV-датотеки во нови или постојни табели во DB. Ако го направите тоа умно, може да се разберете целосно без VBA, т.е. само барање податоци, обележете со формули, филтрирајте, извезувајте како CSV и увезете со SQL Developer (додајте).

- AW: Нахранете ја базата на податоци SQL со Excel

Јас би го опишал моето знаење за ВБА како добро.
Проблемот е што овие податоци треба да се ажурираат секој ден преку Excel подоцна, па затоа мора да се имплементираат преку VBA.

Јас ги знам името на серверот, корисникот и лозинката и табелата SQL веќе е соодветно поставена.

Воспоставив DB врска, но исто така можам да замислам дека мора да работи без интеграција. На крајот, базата на податоци ќе има над 200.000 записи за податоци и само дел од нив ќе бидат преземени преку Pivot за да не се пробијат границите на Excel.

Самата листа на Excel ќе ги содржи само вредностите што треба да се додадат во базата на податоци. Откривањето потоа се одвива преку стожерната табела EXCEL

- AW: Нахранете ја базата на податоци SQL со Excel

Цитат:
. но не можам да најдам како да и се обратам на базата на податоци на VBA.
Јас објавив линк за тебе

- AW: Нахранете ја базата на податоци SQL со Excel

Но, сега имам проблем што треба да проверам дали податоците се веќе достапни пред да ги зачувам. Преку гуфинг дознав дека можете да го направите ова со функција за броење.

Значи, треба да се изброи колку датотеки со податоци со одреден тип се веќе достапни, ако бројот <> 0 тогаш не треба да ги зачувува податоците.

Мислам дека кодот за пребарување треба да биде ваков:

Код:

strsql = "Избери Број (*)" & _
„ОД табела 1“ & _
„КАДЕ Десц =„ ТЕСТ “и _
„И ДАТУМ = 41204“

- AW: Нахранете ја базата на податоци SQL со Excel

Не можам да разберам зошто претходно сакате да го направите ова броење.
Зошто не го проширите внесувањето со клаузула КАДЕ што тестира дека се вметнуваат само непостоечки записи ?

- Re: AW: Нахрани ја SQL базата на податоци со Excel

Не можам да разберам зошто претходно сакате да го направите ова броење.
Зошто не го проширите внесувањето со клаузула КАДЕ што тестира дека се вметнуваат само непостоечки записи ?

Добро прашање. Мислев дека треба да го сторам ова за да утврдам дали сетот на податоци веќе постоел.

Постави oADOCmd = КреирајОбјект ("ADODB.COMMAND")
Со oADOCmd
.ActiveConnection = oADOConn
.CommandTimeout = 120
.Тип на команда = 1
.CommandText = "Вметни во табелата 1" & _
"(DESC, датум, идентификатор, просек)" & _
"ВРЕДНОСТИ ('DESC1', '13 .01.2012 ',' C1 ', 200,50)"
.Изврши vОдговор
Заврши со

Само што дознав за броењето играјќи наоколу.
За да спречам зачувување на податоците двапати во базата на податоци, сега едноставно би поставил изјава if пред горенаведениот код.