Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: VB

Программирование VB

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: сумма поля
 
 автор: Василий   (31.12.2009 в 20:48)   личное сообщение
 
 

доброго всем дня! подскажите пожалуйста начал изучать vb 2008, вроде интересно...только я не пойму вроде я зык вба должен быть везде одинаков, а он разный, в аксе чтоб показать сумму полей нужно ввести : dsum("x","y") где "х" поле а "у" таблица, а как в visual basic это указать? заранее спасибо! всех с новым годом!

  Ответить  
 
 автор: FORMAT   (04.01.2010 в 10:54)   личное сообщение
 
 

VB2008 и VBA это абсолютно разные вещи ( языки). Они отличаются по синтаксису и функциональным возможностям.
В частности - для подключения к таблице нужно указать строку подключения к базе данных.
А далее - лиюо вычисляете сумму полей в таблице непосредственно SQL запросом - и затем достаете значение , либо вытаскиваете данные из базы в объекты datatable. dataset или datareader - к чему душа больше лежит. И в этих объектах уже суммируете ( dataset - это некий аналог аксесовского рекордсета)

  Ответить  
 
 автор: Василий   (04.01.2010 в 21:30)   личное сообщение
 
 

а можно какой нибудь легкий примерчик?

  Ответить  
 
 автор: FORMAT   (05.01.2010 в 11:14)   личное сообщение
 
 

С VB2008 я никогда не работал - это .Net3.5 . Когда-то делал на VB2005. А между ними есть небольшие отличия - в VB2008 вроде возможностей больше.

Вот небольшой пример

В модуле объявляются переменные

Public servname As String = "Тут должно стоять имя сервера"
Public basename As String = "Тут должно стоять название базы данных"


Ну и далее в классе формы


Imports System.Drawing
Imports System.Data.SqlClient.SqlConnectionStringBuilder
Imports System.Data.SqlClient
Imports System.Windows.Forms.Form
Imports System.Data
Imports System.Data.DataSet
Imports System.Data.DataColumn

Public Class FormName ' имя формы

Private Sub FormName_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load


' Пример работы с объектом DataReader

Dim conn1 As New SqlConnectionStringBuilder()
conn1.DataSource = servname
conn1.InitialCatalog = basename
conn1.IntegratedSecurity = True

Dim cn1 As New SqlConnection(conn1.ConnectionString)

cn1.Open()
strSQL1 = " SELECT Field1,Field2 ,Field3 FROM Tbl1"

Dim cmd1 As New SqlCommand(strSQL1, cn1)
Dim rdr1 As SqlDataReader = cmd1.ExecuteReader()
Do While rdr1.Read
Me.Label1.Text = (rdr1("Field1"))
Me.Label2.Text = (rdr1("Field2"))
Me.Label3.Text = (rdr1("Field3"))
Loop
rdr1.Close()
cn1.Close()

' Пример работы с объектом Dataset

Dim conn As New SqlConnectionStringBuilder()
conn.DataSource = servname
conn.InitialCatalog = basename
conn.IntegratedSecurity = True

Using cn As New SqlConnection(conn.ConnectionString)
cn.Open()
strSQL = " SELECT * FROM TblPassport "
Dim da1 As New SqlDataAdapter(strSQL, cn)
Dim ds1 As New DataSet()
da1.Fill(ds1, "TblPassport")

With ds1
Me.ComboBox1.DataSource = .Tables("TblPassport") ' Можно просто поставить = ds1 вместо .Tables("TblPassport")
Me.ComboBox1.DisplayMember = "NaimObj"
Me.ComboBox1.ValueMember = "IdPassport"
End With
End Using



End sub

End Class


В общем как-то так. А вообще почитайте книжки по ADO.NET. Без этого - никак не получится полноценно работать с базами данных.

  Ответить  
 
 автор: Василий   (18.01.2010 в 20:42)   личное сообщение
 
 

в 2008 полегче, agreegate s4et in table1Bindingsource into sum(s4et.s4et) и считает вроде (пока)

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList