Click here to Skip to main content
15,908,768 members
Home / Discussions / Database
   

Database

 
GeneralRe: Let a paramter calculate it's own size Pin
Rob Graham17-Sep-06 5:41
Rob Graham17-Sep-06 5:41 
Questionjoins Pin
srushti0814-Sep-06 8:56
srushti0814-Sep-06 8:56 
AnswerRe: joins Pin
Chris Meech14-Sep-06 9:26
Chris Meech14-Sep-06 9:26 
QuestionWhen you delete a table,its strututral definition,data,indexes,views,constraints are permanently deleted from a database? Pin
srushti0814-Sep-06 8:52
srushti0814-Sep-06 8:52 
AnswerRe: When you delete a table,its strututral definition,data,indexes,views,constraints are permanently deleted from a database? Pin
Stephen McGuire14-Sep-06 9:11
Stephen McGuire14-Sep-06 9:11 
AnswerRe: When you delete a table,its strututral definition,data,indexes,views,constraints are permanently deleted from a database? Pin
Rob Graham14-Sep-06 10:55
Rob Graham14-Sep-06 10:55 
AnswerRe: When you delete a table,its strututral definition,data,indexes,views,constraints are permanently deleted from a database? Pin
yetanotherchris15-Sep-06 4:20
yetanotherchris15-Sep-06 4:20 
QuestionConvert Access VBA module to SQL udf Pin
Guytz14-Sep-06 3:38
Guytz14-Sep-06 3:38 
Hi,

I have a couple of VBA modules I need to convert to a SQL 2005 udf (or a C# class if that is abetter place for it!).

The VBA code is below:

Function RMSBetaDist(x, alpha, beta, rate)
     'Main function where the cumulative Beta distribution is assembled

datasize = Range("Datsize")
Dim bt() As Double
Dim RMSBeta() As Double
Dim i As Integer

ReDim bt(datasize)
ReDim RMSBeta(datasize)

For i = 1 To datasize
If x(i, 1) < 0 Or x(i, 1) > 1 Then
    'Error = MsgBox("There is a problem with the x value of the beta function", vbOKOnly)
    'GoTo Abend
    x(i, 1) = 1
End If
If x(i, 1) = 0 Then
    bt(i) = 0
    RMSBeta(i) = 0
    GoTo Nextarray
ElseIf x(i, 1) = 1 Then
    bt(i) = 0
    RMSBeta(i) = 1
    GoTo Nextarray
Else
    bt(i) = Exp(RMSGammaln(alpha(i, 1) + beta(i, 1)) - RMSGammaln(alpha(i, 1)) - RMSGammaln(beta(i, 1)) + alpha(i, 1) * Log(x(i, 1)) + beta(i, 1) * Log(1 - x(i, 1)))
End If
If x(i, 1) < (alpha(i, 1) + 1) / (alpha(i, 1) + beta(i, 1) + 2) Then
    RMSBeta(i) = bt(i) * RMSBetaCF(x(i, 1), alpha(i, 1), beta(i, 1)) / alpha(i, 1)
Else                           'symmetry relation I(a,b)=1-I(b,a) where I() is the incomplete beta function
    RMSBeta(i) = 1 - bt(i) * RMSBetaCF(1 - x(i, 1), beta(i, 1), alpha(i, 1)) / beta(i, 1)
End If

Nextarray:
RMSBetaDist = RMSBetaDist + rate(i) * (1 - RMSBeta(i))
Next i

Abend:
End Function





Function RMSGammaln(xg)   'Lanczos gamma approximation
     'Used in the Beta distribution approximation

Dim y, temp, serial, PI, small As Double
Dim coeff(6) As Double
Dim j As Integer

PI = 3.14159265358979
coeff(0) = 76.18009173
coeff(1) = -86.50532033
coeff(2) = 24.01409822
coeff(3) = -1.231739516
coeff(4) = 0.00120858003
coeff(5) = -0.00000536382
small = 0
If xg < 1 Then
    small = xg
    y = xg - 1
Else
    y = xg - 1
End If
temp = y + 5.5
temp = temp - (y + 0.5) * Log(temp)
serial = 1

For j = 0 To 5
    y = y + 1
    serial = serial + coeff(j) / y
Next j
If small <> 0 Then   'formula for values of x < 1
    RMSGammaln = -temp + Log(Sqr(2 * PI) * serial)
Else
    RMSGammaln = -temp + Log(Sqr(2 * PI) * serial)
End If

End Function




Function RMSBetaCF(x2, alpha2, beta2)
    'Used to approximate the integral portion of the cumulative Beta distribution

Dim errorf As Double
Dim qap, qam, qab, em, temp, d As Double
Dim bz, bm, bp, bpp As Double
Dim az, am, ap, app, aold As Double
Dim m, MaxIterations As Integer

errorf = 0.0000001
MaxIterations = 1000
bm = 1
az = 1
am = 1
qab = alpha2 + beta2
qap = alpha2 + 1
qam = alpha2 - 1
bz = 1 - qab * x2 / qap

For m = 1 To MaxIterations
    em = m
    temp = em + em
    d = em * (beta2 - em) * x2 / ((qam + temp) * (alpha2 + temp))
    ap = az + d * am
    bp = bz + d * bm
    d = -(alpha2 + em) * (qab + em) * x2 / ((qap + temp) * (alpha2 + temp))
    app = ap + d * az
    bpp = bp + d * bz
    aold = az
    am = ap / bpp
    bm = bp / bpp
    az = app / bpp
    bz = 1
    If Abs(az - aold) < errorf * Abs(az) Then
        GoTo FinalStep
    End If
Next m
ErrorStep:
    'Error = MsgBox("Either alpha or beta is too big or the maximum iterations are too small for convergence", vbOKOnly, "Problem in RMSBetaCF function")
    RMSBetaCF = 1
    GoTo Abend
FinalStep:
    RMSBetaCF = az
Abend:
    'Msg = MsgBox(m & " iterations ", vbOKOnly)
End Function






Any help with this would be greatly appreciated!
Thanks,
Guytz72
QuestionHow can I insert byte array variable in sql server ? Pin
Orchid8513-Sep-06 23:20
Orchid8513-Sep-06 23:20 
AnswerRe: How can I insert byte array variable in sql server ? Pin
Colin Angus Mackay14-Sep-06 5:27
Colin Angus Mackay14-Sep-06 5:27 
Questionuser vs login in sql server 2000 Pin
yazan_zahi13-Sep-06 22:13
yazan_zahi13-Sep-06 22:13 
AnswerRe: user vs login in sql server 2000 Pin
Colin Angus Mackay13-Sep-06 23:18
Colin Angus Mackay13-Sep-06 23:18 
QuestionSearching through multiple fields Pin
monrobot1313-Sep-06 17:47
monrobot1313-Sep-06 17:47 
AnswerRe: Searching through multiple fields Pin
Dinuj Nath13-Sep-06 18:23
Dinuj Nath13-Sep-06 18:23 
GeneralRe: Searching through multiple fields Pin
monrobot1314-Sep-06 16:22
monrobot1314-Sep-06 16:22 
GeneralRe: Searching through multiple fields Pin
Dinuj Nath14-Sep-06 19:23
Dinuj Nath14-Sep-06 19:23 
GeneralRe: Searching through multiple fields Pin
monrobot1315-Sep-06 10:55
monrobot1315-Sep-06 10:55 
GeneralRe: Searching through multiple fields Pin
Dinuj Nath17-Sep-06 18:35
Dinuj Nath17-Sep-06 18:35 
QuestionProblems in using single dataset in different VB FORMS Pin
Zafar Ayub13-Sep-06 5:55
Zafar Ayub13-Sep-06 5:55 
AnswerRe: Problems in using single dataset in different VB FORMS Pin
Stephen McGuire13-Sep-06 12:23
Stephen McGuire13-Sep-06 12:23 
QuestionRe: Problems in using single dataset in different VB FORMS Pin
Zafar Ayub13-Sep-06 23:12
Zafar Ayub13-Sep-06 23:12 
AnswerRe: Problems in using single dataset in different VB FORMS Pin
Stephen McGuire14-Sep-06 1:22
Stephen McGuire14-Sep-06 1:22 
QuestionAccess misunderstanding - MAYDAY!!! Pin
eMtek13-Sep-06 5:48
eMtek13-Sep-06 5:48 
AnswerRe: Access misunderstanding - MAYDAY!!! Pin
Rob Graham13-Sep-06 10:55
Rob Graham13-Sep-06 10:55 
GeneralRe: Access misunderstanding - MAYDAY!!! Pin
eMtek13-Sep-06 11:04
eMtek13-Sep-06 11:04 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.