Hej qp !!! Hvis jeg har forstået det korrekt har du tal fra en tabel, der skal summeres. Summen skal herefter anvendes videre i forløbet. Mangler du så ikke at erklære variablen Formel (der så vidt jeg kan se indeholder summen af tallene) således: Dim Formel as integer
Jeg har min formel i me.formel (ex. =(A+B) ) Værdien af formelen skal indsættes i me.Antal. Jeg har styr på A og B. Mit problem er at den ikke regner formlen ud med indsætter =(A+B), når jeg kigger på min VBA kode ser der således ud "=(A+B)" og ikke =(A+B)
Så vidt jeg forstår - har du i et tekstfelt i tabellen - et udtryk, der repræsentere en formel. Som det er nævnt i tidligere indlæg er dette en TEKST og IKKE et formeludtryk.
Jeg har på basis af en tilfældig tabel, der indeholder et par tal-felter - dannet en formular. Indsat en knap - der får en hændelsesegenskab v/klik - således at beregningen udføres:
Koden er således:
Option Compare Database Option Explicit Dim sum, db, tabx Private Sub Kommandoknap12_Click() Dim a, b, p, x As Field, y As Field Set db = CurrentDb Set tabx = db.openrecordset("booking") 'åbn den underliggende tabel (Eksempel)
p = InStr(Me.formel, "+") If p > 0 Then a = Mid(Me.formel, 1, p - 1) 'henter og adskiller formel-teksten b = Mid(Me.formel, p + 1)
sum = tabx.Fields(a) + tabx.Fields(b) 'anvender feltnavnene på tabellen End If
Me.Tekst13 = sum End Sub
Det skal dog anføres - at jeg i koden IKKE har søgt frem til den aktuelle post - men dette kan naturligvis gøres.
I hvilket regi, har du VBA-koden liggende - i en formular eller ?
Hvorfor har du formlen liggende som et felt - skal felterne kunne ændres - eller hvad - hvis jeg ellers har forstået situationen rigtigt.
ER du sikker på, at alle de involverede felter er sat til at være tal - anførselstegn omkring formler tyder på, at Access anser feltet for at indeholde tal og ikke tekst
Jeg køre denne function, det er en del af den ... If MyRe.RecordCount > 0 Then KolCount = 1
Do While Not MyRe.EOF MyRe.Edit If IsNull(MyRe!Formel) Then GoTo Next1 testny = " & MyRe!FORMEL & " ' DET ER HER DET GÅR GALT VÆRDIEN AF MyRe!FORMEL kommer i "" så er det ikke et tal og jeg får fejlen "Type mismatch" MyRe!Test = testny Next1: MyRe.Update KolCount = KolCount + 1 SendKeys "{f9}"
Du indsætter bare en linie med f = Replace(f, ",", ".") inden du evaluerer
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.