DataBase
9 отговора
344 прегледа
DataBase
Такаааа,
Въпрос:
Как да копирам съдържанието от една таблица(A) в друга(B),като:
А.полетата в 2-те таблица са еднакви
Б.в (B) имам повече,където те са производни от 1-та(A)
2.Как да "обходя" всички записи в дадена таблица с while .....wend
всяко предложение ще бъде ценно
(На само четящите)Весели празници(Както и на пишещите....братя)

Въпрос:
Как да копирам съдържанието от една таблица(A) в друга(B),като:
А.полетата в 2-те таблица са еднакви
Б.в (B) имам повече,където те са производни от 1-та(A)
2.Как да "обходя" всички записи в дадена таблица с while .....wend
всяко предложение ще бъде ценно
(На само четящите)Весели празници(Както и на пишещите....братя)
10x to All
Благодаря на всички за отговорите...
А някой да знае как да си стартирам VB-то ?!
А някой да знае как да си стартирам VB-то ?!
Re: 10x to All
Sorry. Празници са. Няма много народ по клубовете, освен няколко спамери в клуб "Физика". Тук сигурно ще се пооправи след 5-ти, пък аз като не знам какво да ти отговоря, затова не се обаждам по темата ти.
Ще се оправим. Работя по нова подредба на първата тема, ще събираме малко по-отбрана информация.
----------------------------------
помислих, хареса ми, помислих пак...
Ще се оправим. Работя по нова подредба на първата тема, ще събираме малко по-отбрана информация.
----------------------------------
помислих, хареса ми, помислих пак...
Re: 10x to All
:))))))))))
Аз знам как да си стартирам мойто VB само не знам дали метода ще работи и при теб - правя го с двойно натискане върху фаила с име VB6.EXE :)))
А по въпроса с базата с данни. Правих навремето нещо такова и изглеждаше по следния начин:
Приемам че таблицата от която ще вземаш инфото се казва Table_Source а другата Table_Dest като Table_Source има полета Field_1, Field_2, Field_3 и Field_4 (само пример ве, не ми се хили :)))
INSERT INTO Table_Dest (Field_1,Field_2,Field_3,Field_4) SELECT * FROM Table_Source
Сега, може и да греша в точния синтаксис но така го правих преди - това което трябва да се вкара се задава като друго Query - в случая SELECT * FROM Table_Source -може да се наложи това последното да е в скоби.
Другия начин е по-бавния и той се състои в избирането на всички записи от Table_Source и след това един по един тези записи да се INSERT INTO Table_Dest:
Set rsRecordset=conConnection.Execute("SELECT * FROM Table_Source")
Do While Not rsRecordset.Eof
conConnection.Execute("INSERT INTO Table_Dest (Field_1,Field_2,Field_3,Field_4) VALUES (" & rsRecordset.Field(0).Value & "," & rsRecordset.Field(1).Value ......")
rsRecordset.MoveNext
Loop
Благодаря за търпението... :))))


Аз знам как да си стартирам мойто VB само не знам дали метода ще работи и при теб - правя го с двойно натискане върху фаила с име VB6.EXE :)))
А по въпроса с базата с данни. Правих навремето нещо такова и изглеждаше по следния начин:
Приемам че таблицата от която ще вземаш инфото се казва Table_Source а другата Table_Dest като Table_Source има полета Field_1, Field_2, Field_3 и Field_4 (само пример ве, не ми се хили :)))
INSERT INTO Table_Dest (Field_1,Field_2,Field_3,Field_4) SELECT * FROM Table_Source
Сега, може и да греша в точния синтаксис но така го правих преди - това което трябва да се вкара се задава като друго Query - в случая SELECT * FROM Table_Source -може да се наложи това последното да е в скоби.
Другия начин е по-бавния и той се състои в избирането на всички записи от Table_Source и след това един по един тези записи да се INSERT INTO Table_Dest:
Set rsRecordset=conConnection.Execute("SELECT * FROM Table_Source")
Do While Not rsRecordset.Eof
conConnection.Execute("INSERT INTO Table_Dest (Field_1,Field_2,Field_3,Field_4) VALUES (" & rsRecordset.Field(0).Value & "," & rsRecordset.Field(1).Value ......")
rsRecordset.MoveNext
Loop
Благодаря за търпението... :))))
Re: 10x to All
Уффффф,най-после нещо смислено....бях се отчаял вече....
по т.1:
докато стигна до ВБ-ексе/то и килимчето на мишката ми свършва
.'ко да правя сега ?!
по т.2:
не става(или поне при мен) защото:
do while...loop и while...wend операторите вършат една и съща работа...и по-точно....като тръгнат не могат да се спрат,демек зацикля
според мен трябва да е с for.....next с rs.recordcount помежду
ама вече съм се спекъл и говоря само глупУсти
мисля,че трябва да е нещо такова
по т.1:
докато стигна до ВБ-ексе/то и килимчето на мишката ми свършва
по т.2:
не става(или поне при мен) защото:
do while...loop и while...wend операторите вършат една и съща работа...и по-точно....като тръгнат не могат да се спрат,демек зацикля
според мен трябва да е с for.....next с rs.recordcount помежду
ама вече съм се спекъл и говоря само глупУсти
мисля,че трябва да е нещо такова
Dim i As Long
For i = 1 To rs.RecordCount
rs.Fields(i).Value = Text(i).Text
If rs.Fields(i).Value = Text(i).Text Then
i = rs.RecordCount
Else
rs.MoveNext
End If
Next i
Re: 10x to All
по т.1 - В магазина видях да се продават новите XXL килимчета.
по т.2 - Нещо не ми се чини да е читав кода.
Но Do ... Loop си има условие, и то може да е - цикъла, до край на записите. Но така или иначе трябва да има променлива за номера на записа, така че с For...Next май ще е по-четливо, щом знаем броя записи.
----------------------------------
помислих, хареса ми, помислих пак...
по т.2 - Нещо не ми се чини да е читав кода.
Но Do ... Loop си има условие, и то може да е - цикъла, до край на записите. Но така или иначе трябва да има променлива за номера на записа, така че с For...Next май ще е по-четливо, щом знаем броя записи.
----------------------------------
помислих, хареса ми, помислих пак...
Re: 10x to All
по т.1 с XXL килимче съм...какво следва...?
по т.2
на мен ми изглежда добре,ама май не е
сигурен съм ,че изпускам нещо елементарно
както и да е.....
Весело посрещане на Новата Година!
по т.2
на мен ми изглежда добре,ама май не е
сигурен съм ,че изпускам нещо елементарно
както и да е.....
Весело посрещане на Новата Година!
прав си
Do Until rs.EOF = True
rs.Fields(i).Value = Text(i).Text
If rs.Fields(i).Value = Text(i).Text Then
rs.MoveNext
End If
Loop
бачка си като пушка
Re: 10x to All
С For..... Next е по-кофти, според мене.
Най-добре е да обходиш записите така както ти е обяснил Георги с while...loop, но с някои малки забележки
Преди реда:
Do While Not rsRecordset.Eof
трябва задължително да има:
rsRecordset.MoveFirst
А щом има "rsRecordset.MoveFirst" трябва да има и проверка за наличието на някакви записи в таблицата. Или Error trapping.
Проверката става чрез rsRecordset.Eof и rsRecordset.Bof. Ако няма записи в таблицата, те и двете са True.
И така горе-долу кода за обхождане на рекордсет би изглеждал по следния начин:
If Not(rsRecordset.Eof And rsRecordset.Bof) Then
rsRecordset.MoveFirst
Do While Not rsRecordset.Eof
'тук правиш, квот ще правиш
rsRecordset.MoveNext
Loop
End If
А ето ти един линк конкретно по твоят проблем, който може би върши някаква работа.
[линк]
Не казвам, че това е най-доброто, но за сметка на това ми спестява доста обяснения и време, което щях да загубя, за да напиша код по проблема. А пък спестеното време ще го оползотворя по подготовка за по посрещането на Новата година
Честита Нова Година!
Бии, за да те уважават!
Най-добре е да обходиш записите така както ти е обяснил Георги с while...loop, но с някои малки забележки
Преди реда:
Do While Not rsRecordset.Eof
трябва задължително да има:
rsRecordset.MoveFirst
А щом има "rsRecordset.MoveFirst" трябва да има и проверка за наличието на някакви записи в таблицата. Или Error trapping.
Проверката става чрез rsRecordset.Eof и rsRecordset.Bof. Ако няма записи в таблицата, те и двете са True.
И така горе-долу кода за обхождане на рекордсет би изглеждал по следния начин:
If Not(rsRecordset.Eof And rsRecordset.Bof) Then
rsRecordset.MoveFirst
Do While Not rsRecordset.Eof
'тук правиш, квот ще правиш
rsRecordset.MoveNext
Loop
End If
А ето ти един линк конкретно по твоят проблем, който може би върши някаква работа.
[линк]
Не казвам, че това е най-доброто, но за сметка на това ми спестява доста обяснения и време, което щях да загубя, за да напиша код по проблема. А пък спестеното време ще го оползотворя по подготовка за по посрещането на Новата година
Честита Нова Година!
Бии, за да те уважават!
Re: 10x to All
Пък на мен ми се губинякъде нещо по кодовете като чели много сложно го правите.
Има значение според мен с какво си достъпваш базата дали с дао или адо.
Наведи главата защото прелитам ниско с асконата !!!
Има значение според мен с какво си достъпваш базата дали с дао или адо.
Наведи главата защото прелитам ниско с асконата !!!