Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2009, 14:11   #1
st_ws
Пользователь
 
Регистрация: 01.10.2009
Сообщений: 14
По умолчанию с формы в файл

Доброго времени суток всем!
Помогите решить следующую задачу.
Есть форма, есть кнопка "сохранить в базе"(первый скрин код кнопки), после нажатия этой кнопки инфа сохраняется в файл, но не так как мне надо:
(Скрины внизу)
как видно на втором из них, текст сохраняется в виде одной строки без пробелов, как сделать так чтобы каждое слово было в отдельной ячейке (в горизонтальном положении)
Вопрос № 2
при сохранении новой информации текст не добавляется а просто заменяет предыдущий, что необходимо дописать что-бы новая инфа добавлялось по порядку.
Вопрос №3
Как сделать так чтобы после того как нажали кнопку и текст сохранился, текстовые поля очищались, а в низу скажем в какой либо ячейке высвечивался статус - скажем "Сохранено удачно", либо неудачно - если инфа не сохранилась ?
Спасибо
Изображения
Тип файла: jpg forma_2.jpg (99.1 Кб, 138 просмотров)
Тип файла: jpg kod.jpg (96.6 Кб, 234 просмотров)
Тип файла: jpg data.jpg (98.7 Кб, 232 просмотров)

Последний раз редактировалось st_ws; 01.10.2009 в 14:15.
st_ws вне форума Ответить с цитированием
Старый 01.10.2009, 15:52   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте st_ws.
2. Open "C:\Data.csv" For Append As #1 ... - открывать для добавления
1. Print #1, TextBox1 & chr(59) & TextBox2 & chr(59) & .... - печать собраной строки с разделителями (;) точка с запятой
3.
Код:
On Error Resume Next
...
   Close #1
If Err.Number = 0 Then 'очищение полей ввода если сохранение прошло успешно
   TextBox1 = Empty
   TextBox2 = Empty
    ...
Else ' иначе сообщение о ошибке
   MsgBox "Ошибка - " + Err.Description
End If
...
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 01.10.2009, 15:57   #3
litvin44
Пользователь
 
Регистрация: 26.09.2009
Сообщений: 15
По умолчанию

Private Sub Command1_Click()
On Error GoTo mErr
Open файл For Append As 1
Print #1, TextBox1.Text & " " & TextBox1.Text
или
Print #1, TextBox1.Text & vbTab & TextBox1.Text
смотря чем потом собираетесь читать
Close
'удача
...
Exit Sub
mErr:
'неудача
...
End Sub
litvin44 вне форума Ответить с цитированием
Старый 01.10.2009, 16:24   #4
st_ws
Пользователь
 
Регистрация: 01.10.2009
Сообщений: 14
Хорошо Спасибо!!!

litvin44, Teslenko_EA
Ребята, огромное спасибо ! Выручили очень !!!
st_ws вне форума Ответить с цитированием
Старый 01.10.2009, 16:44   #5
st_ws
Пользователь
 
Регистрация: 01.10.2009
Сообщений: 14
По умолчанию Еще один вопросик

Сейчас протестил макрос, получается что если текстовые поля не заполнены и нажать кнопку "сохранить в базе" то макрос все равно добавляет пустые ячейки, что нужно дописать, чтобы шла проверка полей (точнее первых трех)и если они не заполнены - выдавалось сообщение о необходимости заполнить поля, и не позволяло сохранить пока это условие не выполнено! Спасибо!

Последний раз редактировалось st_ws; 01.10.2009 в 17:00.
st_ws вне форума Ответить с цитированием
Старый 02.10.2009, 12:02   #6
st_ws
Пользователь
 
Регистрация: 01.10.2009
Сообщений: 14
По умолчанию

народ, если кто знает, подскажите что дописать?!
st_ws вне форума Ответить с цитированием
Старый 02.10.2009, 20:45   #7
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте st_ws.
допавьте в начале процедуры подобные строки:
Код:
...
Const sMes = "Три обязательно ...."
If Len(TextBox1.Text) * Len(TextBox2.Text) * Len(TextBox3.Text) = 0 Then MsgBox sMes :  Exit Sub
...
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 04.10.2009, 11:11   #8
st_ws
Пользователь
 
Регистрация: 01.10.2009
Сообщений: 14
Хорошо Спасибо!

Это то, что нужно!!!!
st_ws вне форума Ответить с цитированием
Старый 25.11.2009, 10:30   #9
st_ws
Пользователь
 
Регистрация: 01.10.2009
Сообщений: 14
По умолчанию Табуляция

Народ подскажите, что нужно вписать в код, чтобы при нажатии кливиши "TAB" на клаве, курсор переходил из одного текстового поля в другое?
Спасибо!
st_ws вне форума Ответить с цитированием
Старый 25.11.2009, 10:32   #10
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Убедитесь, что для всех текстовых полей свойство TabKeyBehavior имеет значение False
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Элемент формы <input type="image"... не находится в коллекции элементов формы? euroflock Работа с сетью в Delphi 1 01.09.2009 16:17
Обновление данных подчиненной формы из другой подчиненной формы smoky Microsoft Office Access 2 15.08.2009 15:28
Заполнение поле формы автоматически из другой формы!! Магомед Microsoft Office Access 8 28.07.2009 13:49
Как сделать границы формы другого цвета,формы?? Дима я Общие вопросы Delphi 3 22.06.2009 07:24
Обращение из формы в dll к элементу главной формы (delphi) a_n_n_a Помощь студентам 3 10.05.2009 04:00