|
|
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
Нужен утвердительный ответ устала копаться на форумах. Подскажите пжл. Мне поставили задачу есть база Access есть приложение VB в Access в модуле прописана процедура Public Sub InsertTab1(MyTable As String, pN1 As String, pN2 As String) On Error GoTo pEnd Dim MySQL As String MySQL = "INSERT INTO " & MyTable & _ " (naimr, naimk)" & _ " VALUES ('" & pN1 & "', '" & pN2 & "')" DoCmd.SetWarnings False DoCmd.RunSQL MySQL Exit Sub pEnd: Exit Sub End Sub Моя задача в VB передать параметры и запустить эту процедуру. То что можно использовать с параметрами запросы я знаю Типа PARAMETERS [@naimr] Text ( 255 ), [@naimk] Text ( 255 ); INSERT INTO spogr ( naimr, naimk ) SELECT [@naimr] AS Выражение1, [@naimk] AS Выражение2; Но этот вариант моего шефа не устраивает. Подскажите мою задачу можно решить или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 08:26 |
|
||
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
SHGulnurМоя задача в VB передать параметры и запустить эту процедуру. То что можно использовать с параметрами запросы я знаю Э-эх... Зарываться в Help/книжки и читать про ADODB.Connection ADODB.Command ADODB.Execute ADODB.Recordset ADODB.Parameters P.S Help на эту тему даже в Access-e есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 08:45 |
|
||
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
не очень понял что хочет ваш шеф но в VB выглядет примерно так ваш код Private Sub Insert(MyTable As String, pN1 As String, pN2 As String) Dim con As New ADODB.Connection Dim com As New ADODB.Command Dim dbfile As String Dim strSQL As String dbfile = "c:\mydb.mdb" con.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & dbfile & ";Uid=Admin;Pwd=;" 'ODBC соединенеие strSQL = "INSERT INTO " & MyTable & _ " (naimr, naimk)" & _ " VALUES ('" & pN1 & "', '" & pN2 & "')" With com .ActiveConnection = con .CommandText = strSQL .Execute End With End Sub Можно какже создать комманд в DataEnvironment с параметрами и вызывать в процедуре с присвоениями параметров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 08:45 |
|
||
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
Да нет? это процедура должна быть в модуле Access -а а вызываться с VB. Ну вот хочет он так чтоб было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 08:48 |
|
||
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
Ну неужели никто не может мне ответить или что нить посоветовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 10:15 |
|
||
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
SHGulnur... Подскажите мою задачу можно решить или нет? Только если открыть Access Application ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 10:31 |
|
||
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
SHGulnur, уточните, что именно вы хотите: запустить запрос с параметрами в Access из VB или выполнить процедуру, находящуюся в стандратном модуле приложения Access? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 10:39 |
|
||
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
Да, решить задачу можно. Нужен второй запрос, в котором будет вызов указанной процедуры. И этот второй запрос уже выполнять через ADO. Чуть позже будет пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 10:48 |
|
||
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
AshtonSHGulnur, уточните, что именно вы хотите: запустить запрос с параметрами в Access из VB или выполнить процедуру, находящуюся в стандратном модуле приложения Access? Вроде ж четко написано авторв Access в модуле прописана процедура Public Sub InsertTab1(MyTable As String, pN1 As String, pN2 As String) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 10:48 |
|
||
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
AshtonSHGulnur, уточните, что именно вы хотите: запустить запрос с параметрами в Access из VB или выполнить процедуру, находящуюся в стандратном модуле приложения Access? Вроде ж четко написано авторв Access в модуле прописана процедура Public Sub InsertTab1(MyTable As String, pN1 As String, pN2 As String) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 11:19 |
|
||
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
marvanДа, решить задачу можно. Нужен второй запрос, в котором будет вызов указанной процедуры. И этот второй запрос уже выполнять через ADO. Чуть позже будет пример. Ждем с нетерпением ... Извините за случайный повторный ответ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 11:21 |
|
||
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
По поводу процедуры в модуле Access. После выполенения запроса неплохо было бы включать обратно сообщения на подтверждение. И зачем в конце писать кучу "Exit Sub". Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. По теме. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 11:30 |
|
||
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
Ashton ... По теме. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Ага, только можно сразу: Set acApp = GetObject("D:\1\db1.mdb") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 11:50 |
|
||
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
Пока пытался реализовать задуманное - Ashton всё уже сделал :) А запрос типа: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 13:00 |
|
||
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
Ashton Большое спасибо The Fool On The Hill и Вам Подскажите еще чтоб после вставки вызывая в VB процедура Access возвращала ID вставленной записи Еще раз спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 15:25 |
|
||
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
Это для marvan Чтобы запустить запрос на добавление PARAMETERS [@naimr] Text ( 255 ), [@naimk] Text ( 255 ); INSERT INTO spogr ( naimr, naimk ) SELECT [@naimr] AS Выражение1, [@naimk] AS Выражение2; в VB Public Sub AddRecord() Conn.ConnectMDB (Text1.Text) Set cmd = Nothing Set cmd = New ADODB.Command cmd.CommandType = adCmdStoredProc cmd.ActiveConnection = Conn.Connection cmd.CommandText = "NewRec" cmd.Parameters.Append cmd.CreateParameter("param1", adVarChar, adParamInput, 500, "p_text_rus") cmd.Parameters.Append cmd.CreateParameter("param2", adVarChar, adParamInput, 500, "p_text_kaz") cmd.Execute end sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 15:32 |
|
||
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 15:57 |
|
||
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
Спасибо Мне еще надо чтоб возвращалась сообщение об ошибки если допусти уникальность нарушается а тут тишина Сообщение не выходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 16:35 |
|
||
|
Нужен утвердительный ответ
|
|||
|---|---|---|---|
|
#18+
Подключи библиотеку "Microsoft DAO Object Library", если она не подключена, и перепиши функцию в модуле Access следующим образом. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Потому что, в случае с RunSQL сообщение об ошибке будет выводится на экран, с ожиданием от пользователя каких-либо действий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2006, 08:46 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33666540&tid=2166035]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
205ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 541ms |

| 0 / 0 |
