Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - [решено] vb.net правка access файла

Ответить
Настройки темы
.NET - [решено] vb.net правка access файла

Аватара для iccup.platoon@vk

Пользователь


Сообщения: 82
Благодарности: 9

Профиль | Сайт | Отправить PM | Цитировать


Здравствуйте, господа.
Есть файл Card.mdb, содержащий в себе таблицу NumberDisc. В этой таблице, помимо прочих, есть столбцы с названиями Discount и Amount. В ячейках этих столбцов записаны только числа (то есть ни букв, ни спец. знаков там нет). Такова задача:
Построчно анализируя информацию в ячейках этих двух, исходя из числа, находящегося в ячейке Amount, менять значение в ячейке Discount по принципу
Если Amount больше или равно 1 - Установить Discount = 5, но
Если Amount больше или равно 10 - Установить Discount = 10, но
Если Amount больше или равно 15 - Установить Discount = 15, и
Если Amount больше 20 - Установить Discount = 20
Такие вот дела...

Отправлено: 06:12, 27-04-2015

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


В чём вопрос-то?

Отправлено: 08:21, 27-04-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для iccup.platoon@vk

Пользователь


Сообщения: 82
Благодарности: 9

Профиль | Сайт | Отправить PM | Цитировать


В построении цикла с проверкой числа в ячейке амоунт и, на основании информации из нее, изменением числа в ячейке дискоунт. В контроле ацесса я, мягко говоря, еще не силен. В текстовых файлах это WriteLine, а здесь то что? Мне достаточно один раз увидеть - и я запомню

-------
Да, я дотошный. Да, я всегда уточняю цели. Зато выполняю задание на совесть.


Отправлено: 15:09, 27-04-2015 | #3


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


iccup.platoon@vk, здесь работа с множествами. Сложение пересечение и т.д.
Выбор записей из таблиц по условию - SELECT
Запись - INPUT
и как то так.
Если не затруднительно - приложите образец. С нуля пример дико лень писать.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 15:17, 27-04-2015 | #4


Аватара для iccup.platoon@vk

Пользователь


Сообщения: 82
Благодарности: 9

Профиль | Сайт | Отправить PM | Цитировать


Вложения
Тип файла: zip Card.zip
(50.8 Kb, 8 просмотров)

Пример таблицы? Прикреплю. Пример кода? Да я даже с чего начать не знаю =( Вот код того, что постиг:
Большой код

Код: Выделить весь код
Imports System.Data.OleDb
Public Class Form1
    Dim str As String
    Dim Con As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\FS-Reseption\AppData\Local\VirtualStore\Program Files (x86)\Anticafe\base\Card.mdb;Persist Security Info=True;Jet OLEDB:Database Password=dead12345") ' Переменная для подключения базы
    'Dim Con As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\base\Card.mdb;Persist Security Info=True;Jet OLEDB:Database Password=dead12345") ' Переменная для подключения базы
    Dim SqlCom As OleDb.OleDbCommand
    Dim DT As New Data.DataTable
    Dim DA As OleDb.OleDbDataAdapter
    Dim One As Integer
    Dim Two As Integer
    Dim BasePath As String
    Dim Soob As Integer



    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub

    ' ================== Кнопка на добавление средств
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        SqlCom = New OleDb.OleDbCommand("SELECT * FROM `NumberDisc` WHERE `Number` like '%" & "0001" + TextBox1.Text & "%'", Con)
        Con.Open()
        SqlCom.ExecuteNonQuery()
        DA = New OleDb.OleDbDataAdapter(SqlCom)
        DA.Fill(DT)
        Con.Close()
        On Error Resume Next
        Me.TextBox2.DataBindings.Add(New Binding("Text", DT, "Name"))
        Me.TextBox3.DataBindings.Add(New Binding("Text", DT, "Discount"))
        Me.TextBox4.DataBindings.Add(New Binding("Text", DT, "Telephone"))
        Me.TextBox5.DataBindings.Add(New Binding("Text", DT, "Bonus"))

        Soob = MsgBox("Начислить клиенту " & TextBox6.Text & " рублей?", 36, "Подтверждение действия")
        If Soob = 6 Then
            'логирование
            One = TextBox5.Text
            Two = TextBox6.Text
            'IO.File.AppendAllText("D:/File.txt", DateString & " " & TimeOfDay & vbTab & "Номер карты: " & TextBox1.Text & vbTab & "Зачислено: " & TextBox6.Text & vbTab & "Было: " & One & vbTab & "Стало: " & One + Two & vbCrLf) ' Запись текста из TextBox1 в File.txt
            IO.File.AppendAllText("\\nas\Docs\DepositLog\Log.txt", DateString & " " & TimeOfDay & vbTab & "Номер карты: " & TextBox1.Text & vbTab & "Зачислено: " & TextBox6.Text & vbTab & "Было: " & One & vbTab & "Стало: " & One + Two & vbCrLf) ' Запись текста из TextBox1 в File.txt
            'конец логирования
            MsgBox("Сумма начислена: " & Two)
            DT.Clear()
            SqlCom = New OleDb.OleDbCommand("UPDATE [NumberDisc] SET [Bonus]= " & One + Two & " WHERE `Number` like '%" & TextBox1.Text & "%'", Con)
            TextBox1.Clear()
            TextBox6.Clear()
            Con.Open()
            SqlCom.ExecuteNonQuery()
            Con.Close()
        Else
            DT.Clear()
            TextBox1.Clear()
            TextBox6.Clear()
        End If
    End Sub

    ' ======================== Кнопка снятия денег
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        SqlCom = New OleDb.OleDbCommand("SELECT * FROM `NumberDisc` WHERE `Number` like '%" & "0001" + TextBox1.Text & "%'", Con)
        Con.Open()
        SqlCom.ExecuteNonQuery()
        DA = New OleDb.OleDbDataAdapter(SqlCom)
        DA.Fill(DT)
        Con.Close()
        On Error Resume Next
        Me.TextBox2.DataBindings.Add(New Binding("Text", DT, "Name"))
        Me.TextBox3.DataBindings.Add(New Binding("Text", DT, "Discount"))
        Me.TextBox4.DataBindings.Add(New Binding("Text", DT, "Telephone"))
        Me.TextBox5.DataBindings.Add(New Binding("Text", DT, "Bonus"))

        Soob = MsgBox("Снять со счета " & TextBox6.Text & " рублей?", 36, "Подтверждение действия") ' Показываем сообщение, и номер нажатой кнопки записывается в переменную Soob
        If Soob = 6 Then
            'логирование
            One = TextBox5.Text
            Two = TextBox6.Text
            'IO.File.AppendAllText("D:/File.txt", DateString & " " & TimeOfDay & vbTab & "Номер карты: " & TextBox1.Text & vbTab & "Зачислено: " & TextBox6.Text & vbTab & "Было: " & One & vbTab & "Стало: " & One + Two & vbCrLf) ' Запись текста из TextBox1 в File.txt
            IO.File.AppendAllText("\\nas\Docs\DepositLog\Log.txt", DateString & " " & TimeOfDay & vbTab & "Номер карты: " & TextBox1.Text & vbTab & "Зачислено: " & TextBox6.Text & vbTab & "Было: " & One & vbTab & "Стало: " & One + Two & vbCrLf) ' Запись текста из TextBox1 в File.txt
            'конец логирования
            MsgBox("Списано средств: " & Two)
            DT.Clear()
            SqlCom = New OleDb.OleDbCommand("UPDATE [NumberDisc] SET [Bonus]= " & One - Two & " WHERE `Number` like '%" & TextBox1.Text & "%'", Con)
            TextBox1.Clear()
            TextBox6.Clear()
            Con.Open()
            SqlCom.ExecuteNonQuery()
            Con.Close()
        Else
            DT.Clear()
            TextBox1.Clear()
            TextBox6.Clear()
        End If
    End Sub

    Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs)
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        SqlCom = New OleDb.OleDbCommand("SELECT * FROM `NumberDisc` WHERE `Number` like '%" & "0001" + TextBox1.Text & "%'", Con)
        Con.Open()
        SqlCom.ExecuteNonQuery()
        DA = New OleDb.OleDbDataAdapter(SqlCom)
        DA.Fill(DT)
        Con.Close()
        On Error Resume Next
        Me.TextBox2.DataBindings.Add(New Binding("Text", DT, "Name"))
        Me.TextBox3.DataBindings.Add(New Binding("Text", DT, "Discount"))
        Me.TextBox4.DataBindings.Add(New Binding("Text", DT, "Telephone"))
        Me.TextBox5.DataBindings.Add(New Binding("Text", DT, "Bonus"))
        MsgBox("ФИО: " & TextBox2.Text & vbCrLf & "Скидка: " & TextBox3.Text & vbCrLf & "Номер телефона: " & TextBox4.Text & vbCrLf & "Средства на счету: " & TextBox5.Text)
        DT.Clear()
    End Sub
    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        DT.Clear()
    End Sub
End Class

Тут видно как я костылил с некоторыми вещами... Повесить нужно это всё на Button4.

Последний раз редактировалось iccup.platoon@vk, 27-04-2015 в 15:43.


Отправлено: 15:35, 27-04-2015 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата iccup.platoon@vk:
Пример таблицы? Прикреплю. »
«Введите пароль базы данных» .

Отправлено: 15:51, 27-04-2015 | #6


Аватара для iccup.platoon@vk

Пользователь


Сообщения: 82
Благодарности: 9

Профиль | Сайт | Отправить PM | Цитировать


Ой dead12345

-------
Да, я дотошный. Да, я всегда уточняю цели. Зато выполняю задание на совесть.


Отправлено: 16:57, 27-04-2015 | #7


Аватара для iccup.platoon@vk

Пользователь


Сообщения: 82
Благодарности: 9

Профиль | Сайт | Отправить PM | Цитировать


Up =(

-------
Да, я дотошный. Да, я всегда уточняю цели. Зато выполняю задание на совесть.


Отправлено: 00:17, 29-04-2015 | #8


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


iccup.platoon@vk, извини, не добрался. Завтра на большом компьютере постараюсь посмотреть

Отправлено: 00:37, 29-04-2015 | #9


Аватара для iccup.platoon@vk

Пользователь


Сообщения: 82
Благодарности: 9

Профиль | Сайт | Отправить PM | Цитировать


UUuup =((((

-------
Да, я дотошный. Да, я всегда уточняю цели. Зато выполняю задание на совесть.


Отправлено: 01:00, 01-05-2015 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - [решено] vb.net правка access файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
.NET - [решено] Проблема при сохранения файла в vb.net vitalik8388 Программирование и базы данных 7 02-05-2012 22:01
.NET - [решено] vb.net чтение конкретной строки файла RUVATA Программирование и базы данных 7 19-08-2010 10:21
Прочие БД - Запросы в VB (MS Access) mxmstrnt Программирование и базы данных 0 14-04-2008 16:22
.NET - *Теория*(VB.NET || C#.net ) Нужен алгоритм для мини - игры ssdm Программирование и базы данных 11 17-05-2007 02:12
Сравнение VB.NET и Visual C++.NET Commander Программирование и базы данных 5 09-05-2003 19:05




 
Переход