|
|
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
Как реализовать внесение данных через FlexGrid в БД если сначала данные из БД заносились в FlexGrid ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2007, 19:39 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
По-моему никак, попробуй использовать Microsoft DataGrid Control (MSDATAGRD.OCX) С уважением, Николай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2007, 21:49 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
Я для этого на месте редактируемой ячейки подставлял textbox, придавая ему соответствующие размеры, и копировал в него значение из текущей ячейки. Потом, по нажатию Enter или LostFocus данные заносил в FlexGrid и обновлял рекордсет. Если что - могу пример закинуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2007, 13:26 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
ЗЫ: А ДатаГрид у тебя попрет только если АДО пользуешь. Если ДАО, то даже не парься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2007, 13:28 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
IguMEN, буду очень вам благодарен если закинете пример ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2007, 21:15 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
Не, потерял. Добавь на форму невидимый текстбокс, скажем, text1. При даблклике на flexgrid1 (пусть, flex1) пишешь следующее: text1.left=flex1.left+flex1.colpos (flex1.col) text1.top=flex1.top+flex1.rowpos (flex1.row) text1.width=flex1.colwidth(flex1.col) text1.height=flex1.rowheight(flex1.row) text1.text=flex1.textmatrix (flex1.row, flex1.col) text1.visible=true Бэкколор текстбокса можно сделать нежно голубым или желтым (шоб эффектнее було) А следующий код пихаешь в лостфокус у текстбокса и в кейдаун текстбокса ( но только при условии, что кейкод=13) flex1.textmatrix(flex1.row, flex1.col)=text1.text text1.visible=false А обновление в рекордсете - в зависимости от контрола. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 13:59 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
IguMEN flex1.textmatrix(flex1.row, flex1.col)=text1.text при этом информация будет заноситься в flex или и в flex и БД ? мне надо второе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 14:55 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
Во flex. Я ж написал: дальше - в зависимости от контрола. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 15:55 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
Короче схема такая: 1) Ищецца в рекордсете запись, соответствующая нужной строке. (Надеюсь в таблице предусмотрено поле с неповторяющимися значениями?) 2) Если DAO, то Data1.recordset.edit (Для ADO ентого не надо) 3) data1.recordset.fields(flex1.col).value=text1.text (хотя, на самом деле вместо flex1.col надо ввести переменную, в которую пихается при начале редактирования значение flex1.col. Дело в том, что lostfocus у text1 может означать клик по сетке в произвольном месте, а равно смену текущего столбца. 3) data1.recordset.update Вот и все. Финал: Код: plaintext 1. Аналогично - для Data1 (с добавлением Data1.recordset.edit в начале) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 16:38 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
ЗЫ: Если все-таки поля, подходящего для поиска нет, то придется сделать так Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 16:42 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
ЗЗЫ: Кстати, если уж на то пошло, то и в строке flex1.textmatrix(flex1.row, flex1.col)=text1.text надо flex1.row и flex1.col заменить на заранее введенные переменные с установленными значениями ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 16:44 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
мать моя женщина, ну и ужос, вроде сделал все как написано, выдает ошибку в выделенной строке автор Private Sub Flex1_DblClick() Text1.Left = Flex1.Left + Flex1.ColPos(Flex1.Col) Text1.Top = Flex1.Top + Flex1.RowPos(Flex1.Row) Text1.Width = Flex1.ColWidth(Flex1.Col) Text1.Height = Flex1.RowHeight(Flex1.Row) Text1.Text = Flex1.TextMatrix(Flex1.Row, Flex1.Col) Text1.Visible = True Flex1.Refresh Text1.SetFocus End Sub Private Sub Text1_LostFocus() a = Flex1.Col b = Flex1.Row Data1.Recordset.Edit Flex1.TextMatrix(b, a) = Text1.Text Data1.Recordset.Fields(a).Value = Text1.Text Data1.Recordset.Update Text1.Visible = False Flex1.Refresh End Sub ЗЫ вкратце обьясните смысл рекордсета, что оно из себя представляет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 17:37 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
1) a и b обозначай до при появлении текстбокса, а объяви их в декларе 2) флекс рефрешить не надо 3) упущен поиск записи в рекордсете. Если ткунул в сетку - это еще не значит нашел. Читай мои последние посты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 17:49 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
ЗЫ: рекордсет - набор записей из таблицы, получаемый после указания рекордсорса и рефреша DAO или иных дата-контролов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 17:51 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
IguMEN 1) a и b обозначай до при появлении текстбокса, а объяви их в декларе 2) флекс рефрешить не надо 3) упущен поиск записи в рекордсете. Если ткунул в сетку - это еще не значит нашел. Читай мои последние посты. 1) а можно пападробнее? )) что такое деклер? 3) это оно? авторData1.Recordset.MoveFirst Data1.Recordset.Move b - 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 19:15 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
ЗЫ что бы не создавать новые темы, тут спрошу. есть текст авторText1.Left = Flex1.CellLeft + Flex1.Left почему при Flex1.CellLeft=15 и Flex1.Left=100 Text1.Left равняется 115,38 ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 21:47 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
1) Declare - место в самом верху кода, где объявляются Апишные функции и переменные. 3) именно оно 4) не cellleft, а colpos(b) - это важно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 10:24 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
Перепутал: не b, а "a" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 10:25 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
1)ошибка возникает там же грит "Field cant be updated" авторPrivate Sub Text1_LostFocus() a = Flex1.Col b = Flex1.Row Data1.Recordset.MoveFirst Data1.Recordset.Move b - 1 Data1.Recordset.Edit Flex1.TextMatrix(b, a) = Text1.Text Data1.Recordset.Fields(a).Value = Text1.Text Data1.Recordset.Update Text1.Visible = False End Sub 2) таже фигня ( авторText1.Left = Flex1.ColPos(a) + Flex1.Left Flex1.ColPos(a) = 960 Flex1.Left = 300 Text1.Left = 1259.38 ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 11:33 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
1) "a" & "b" должны определяться в тот момент, когда text1 становится видимым, потому что в lostfocus это уже другие координаты. 2) не парься ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 12:12 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
Короче, я запустил вот это и у меня все работает: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 12:22 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
IguMENКороче, я запустил вот это и у меня все работает: тупо все скопировал, вставил, всеравно та же ошибка Field cant be updated и текст появляется не на ячейке, а збоку. можешь скинуть куда-нить свою прогу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 13:05 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
Мож у тебя не поставлен 6 сервиспак? Хотя вряд ли из-за этого... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 13:27 |
|
||
|
MSFlexGrid и БД
|
|||
|---|---|---|---|
|
#18+
ЗЫ: Вот мой вариант ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 13:27 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34682398&tid=2163681]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
170ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
81ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 540ms |

| 0 / 0 |
